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(对于其中任一类型的提供程序)进行处理。

示例

下面的代码示例返回一个对象,该对象包含 EnumerateItemsEnumerateChanges 枚举的数据变更之一。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 命名空间