Поделиться через


Метод SimpleSyncProvider.LoadChangeData

При переопределении в производном классе вызывается средой выполнения платформы Sync Framework для загрузки информации об изменениях для элемента с указанным ключом.

Пространство имен: Microsoft.Synchronization.SimpleProviders
Сборка: Microsoft.Synchronization.SimpleProviders (в microsoft.synchronization.simpleproviders.dll)

Синтаксис

'Декларация
Public MustOverride Function LoadChangeData ( _
    keyAndExpectedVersion As ItemFieldDictionary, _
    changeUnitsToLoad As IEnumerable(Of SyncId), _
    recoverableErrorReportingContext As RecoverableErrorReportingContext _
) As Object
'Применение
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

Параметры

  • keyAndExpectedVersion
    Свойства ключа и ожидаемой версии элемента, для которого загружаются данные. Поставщик должен выполнить проверку оптимистичного параллелизма, чтобы проверить, что версия элемента в назначении соответствует значениям, найденным в параметре keyAndExpectedVersion. Если проверка не пройдена, то поставщик должен вернуть устранимую ошибку через объект RecoverableErrorReportingContext.
  • changeUnitsToLoad
    Объект SyncId, содержащий базовые единицы, загружаемые для элемента. Если базовая единица указана, то параметр должен быть равен null (не пусто).
  • recoverableErrorReportingContext
    Объект RecoverableErrorReportingContext, который используется для возврата устранимых ошибок, возникших во время попыток обновить элемент.

Возвращаемое значение

Объект, представляющий информацию об изменениях для элемента с указанным ключом.

Замечания

Sync Framework должна иметь возможность перечислять элементы в исходном хранилище элементов, обнаруживать возможные изменения элементов или базовых единиц, а затем загружать измененные данные, чтобы их можно было применить в хранилище назначения. Обнаружение изменений управляется средой выполнения платформы Sync Framework, но перечисление изменений и загрузка данных зависят от хранилища и обрабатываются в реализации методов EnumerateItems (для поставщиков полного перечисления), EnumerateChanges (для поставщиков на основе привязок) или LoadChangeData (для любого типа поставщиков).

Пример

В следующем примере кода возвращается объект, содержащий одно из изменений данных, перечисленных вызовом метода EnumerateItems или EnumerateChanges. Среда выполнения платформы Sync Framework вызывает этот метод до тех пор, пока все изменения не будут переданы. Чтобы просмотреть этот код в контексте полного приложения, см. приложение "Sync101 using Simple Sync Provider", которое можно найти в пакете Sync Framework SDK или на странице 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

См. также

Справочник

Класс SimpleSyncProvider
Элементы SimpleSyncProvider
Пространство имен Microsoft.Synchronization.SimpleProviders