次の方法で共有


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
abstract LoadChangeData : 
        keyAndExpectedVersion:ItemFieldDictionary * 
        changeUnitsToLoad:IEnumerable<SyncId> * 
        recoverableErrorReportingContext:RecoverableErrorReportingContext -> Object 
public abstract function LoadChangeData(
    keyAndExpectedVersion : ItemFieldDictionary, 
    changeUnitsToLoad : IEnumerable<SyncId>, 
    recoverableErrorReportingContext : RecoverableErrorReportingContext
) : Object

パラメーター

  • keyAndExpectedVersion
    型 : Microsoft.Synchronization.SimpleProviders. . :: . .ItemFieldDictionary
    データが読み込まれる項目のキー プロパティと想定されるバージョン プロパティ。プロバイダーはオプティミスティック同時実行制御チェックを実行して、同期先の項目のバージョンが keyAndExpectedVersion の値に対応していることを確認する必要があります。このチェックが失敗した場合、プロバイダーは、RecoverableErrorReportingContext オブジェクトを使用して、復旧可能なエラーを報告する必要があります。
  • changeUnitsToLoad
    型 : System.Collections.Generic. . :: . .IEnumerable< (Of < ( <'SyncId> ) > ) >
    項目に対して読み込む変更単位を含む SyncId オブジェクト。変更単位を指定しない場合は、パラメーターを null (空ではない) に設定する必要があります。

戻り値

型 : System. . :: . .Object
指定されたキーを持つ項目の変更データを表すオブジェクト。

説明

Sync Framework は、同期元の項目ストア内の項目を列挙し、項目または変更単位が変更されているかどうかを検出した後、同期先ストアに適用できるよう、変更済みのデータを読み込むことができなければなりません。変更の検出は Sync Framework ランタイムによって処理されますが、変更の列挙およびデータの読み込みはストアに固有の処理であり、EnumerateItems (完全列挙プロバイダーの場合) または EnumerateChanges (アンカー ベース プロバイダーの場合)、および LoadChangeData(ItemFieldCollection, IEnumerable<(Of <<'(SyncId>)>>), RecoverableErrorReportingContext) (どちらの種類のプロバイダーでも) を実装することによって行います。

次のコード例は、EnumerateItems または EnumerateChanges によって列挙されたデータ変更を 1 つだけ含んだオブジェクトを返します。Sync Framework は、すべての変更の読み取りが完了するまで、このメソッドを呼び出し続けます。完全なアプリケーションのコンテキストでこのコードを表示するには、Sync Framework SDK やCode Galleryから入手できる "Sync101 using Simple Sync Provider" アプリケーションを参照してください。

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 名前空間