Condividi tramite


Metodo SimpleSyncProvider.LoadChangeData

Quando sottoposto a override in una classe derivata, viene chiamato dal runtime di Sync Framework per caricare i dati di modifica per l'elemento con la chiave specificata.

Spazio dei nomi: Microsoft.Synchronization.SimpleProviders
Assembly: Microsoft.Synchronization.SimpleProviders (in microsoft.synchronization.simpleproviders.dll)

Sintassi

'Dichiarazione
Public MustOverride Function LoadChangeData ( _
    keyAndExpectedVersion As ItemFieldDictionary, _
    changeUnitsToLoad As IEnumerable(Of SyncId), _
    recoverableErrorReportingContext As RecoverableErrorReportingContext _
) As Object
'Utilizzo
Dim instance As SimpleSyncProvider
Dim keyAndExpectedVersion As ItemFieldDictionary
Dim changeUnitsToLoad As IEnumerable(Of SyncId)
Dim recoverableErrorReportingContext As RecoverableErrorReportingContext
Dim returnValue As Object

returnValue = instance.LoadChangeData(keyAndExpectedVersion, changeUnitsToLoad, recoverableErrorReportingContext)
public abstract Object LoadChangeData (
    ItemFieldDictionary keyAndExpectedVersion,
    IEnumerable<SyncId> changeUnitsToLoad,
    RecoverableErrorReportingContext recoverableErrorReportingContext
)
public:
virtual Object^ LoadChangeData (
    ItemFieldDictionary^ keyAndExpectedVersion, 
    IEnumerable<SyncId^>^ changeUnitsToLoad, 
    RecoverableErrorReportingContext^ recoverableErrorReportingContext
) abstract
public abstract Object LoadChangeData (
    ItemFieldDictionary keyAndExpectedVersion, 
    IEnumerable<SyncId> changeUnitsToLoad, 
    RecoverableErrorReportingContext recoverableErrorReportingContext
)
public abstract function LoadChangeData (
    keyAndExpectedVersion : ItemFieldDictionary, 
    changeUnitsToLoad : IEnumerable<SyncId>, 
    recoverableErrorReportingContext : RecoverableErrorReportingContext
) : Object

Parametri

  • keyAndExpectedVersion
    Proprietà della chiave e della versione prevista dell'elemento per il quale vengono caricati i dati. Il provider deve eseguire un controllo della concorrenza ottimistica per verificare che la versione dell'elemento nella destinazione corrisponda ai valori trovati in keyAndExpectedVersion. Se questo controllo ha esito negativo, il provider deve segnalare un errore reversibile tramite un oggetto RecoverableErrorReportingContext.
  • changeUnitsToLoad
    Oggetto SyncId contenente le unità di modifica da caricare per un elemento. Il parametro deve essere Null (non vuoto) se non viene specificata alcuna unità di modifica.
  • recoverableErrorReportingContext
    Oggetto RecoverableErrorReportingContext utilizzato per segnalare errori reversibili che si verificano durante i tentativi di caricare un elemento.

Valore restituito

Oggetto che rappresenta i dati di modifica per l'elemento con la chiave specificata.

Osservazioni

Sync Framework deve essere in grado di enumerare elementi nell'archivio di elementi di origine, di rilevare se unità di modifica o elementi sono cambiati e infine di caricare i dati modificati in modo che possano essere applicati all'archivio di destinazione. Il rilevamento delle modifiche viene gestito dal runtime di Sync Framework, ma l'enumerazione delle modifiche e il caricamento dei dati sono attività specifiche dell'archivio e vengono gestite implementando EnumerateItems (per i provider di enumerazione completa) o EnumerateChanges (per i provider basati su ancoraggio) e LoadChangeData (per entrambi i tipi di provider).

Esempio

Nell'esempio di codice seguente viene restituito un oggetto che contiene una delle modifiche ai dati enumerate da EnumerateItems o EnumerateChanges. Sync Framework chiama questo metodo finché non sono state caricate tutte le modifiche. Per visualizzare il codice nel contesto di un'applicazione completa, vedere l'applicazione "Sync101 using Simple Sync Provider" disponibile in Sync Framework SDK e in Code Gallery.

public override object LoadChangeData(ItemFieldDictionary keyAndExpectedVersion, IEnumerable<SyncId> changeUnitsToLoad, RecoverableErrorReportingContext recoverableErrorReportingContext)
{
    IDictionary<uint, ItemField> expectedFields = (IDictionary<uint, ItemField>)keyAndExpectedVersion;
    ulong id = (ulong)expectedFields[CUSTOM_FIELD_ID].Value;
    return new ItemTransfer(id, _store.Get(id));
}
Public Overrides Function LoadChangeData(ByVal keyAndExpectedVersion As ItemFieldDictionary, ByVal changeUnitsToLoad As IEnumerable(Of SyncId), ByVal recoverableErrorReportingContext As RecoverableErrorReportingContext) As Object
    Dim expectedFields As IDictionary(Of UInteger, ItemField) = DirectCast(keyAndExpectedVersion, IDictionary(Of UInteger, ItemField))
    Dim id As ULong = CULng(expectedFields(CUSTOM_FIELD_ID).Value)
    Return New ItemTransfer(id, _store.[Get](id))
End Function

Vedere anche

Riferimento

Classe SimpleSyncProvider
Membri SimpleSyncProvider
Spazio dei nomi Microsoft.Synchronization.SimpleProviders