ItemEnumerationContext.SetDeleteMode メソッド
削除が他のレプリカに反映される通常の削除なのか、ローカルに限られた削除なのかを設定します。
名前空間: Microsoft.Synchronization.SimpleProviders
アセンブリ: Microsoft.Synchronization.SimpleProviders (microsoft.synchronization.simpleproviders.dll 内)
構文
'宣言
Public Overridable Sub SetDeleteMode ( _
deleteMode As SimpleSyncProviderDeleteMode _
)
'使用
Dim instance As ItemEnumerationContext
Dim deleteMode As SimpleSyncProviderDeleteMode
instance.SetDeleteMode(deleteMode)
public virtual void SetDeleteMode (
SimpleSyncProviderDeleteMode deleteMode
)
public:
virtual void SetDeleteMode (
SimpleSyncProviderDeleteMode deleteMode
)
public void SetDeleteMode (
SimpleSyncProviderDeleteMode deleteMode
)
public function SetDeleteMode (
deleteMode : SimpleSyncProviderDeleteMode
)
パラメーター
- deleteMode
削除が他のレプリカに反映される通常の削除なのかローカルに限られた削除なのかを指定する SimpleSyncProviderDeleteMode 列挙値。
解説
同期のシナリオによっては、ローカル レプリカ側の項目のみを削除し、この削除操作が他のレプリカには及ばないようにしなければならない場合があります。たとえば、サーバーが、それぞれ異なる営業担当者向けの情報を格納している複数のデバイスと同期するとします。それぞれのデバイスの記憶域は限られているため、営業担当者は、既に完了した古い注文をデバイスから削除します。この種の削除はサーバーに反映すべきではありません。サーバーにはこのデータが引き続き存在している必要があるためです。簡易プロバイダーでは、ローカルのデータだけを削除するように指定できます。削除の動作をセッション単位で制御するには、このメソッドを使用して適切なオプションを指定します。
例
次のコードは、同期中に削除が反映されないように指定する例です。
public override void EnumerateItems(FullEnumerationContext context)
{
context.SetDeleteMode(SimpleSyncProviderDeleteMode.LocalOnly);
List<ItemFieldDictionary> items = new List<ItemFieldDictionary>();
foreach (ulong id in _store.Ids)
{
items.Add(_store.CreateItemFieldDictionary(id));
}
context.ReportItems(items);
}
public override void EnumerateItems(FullEnumerationContext context)
{
context.SetDeleteMode(SimpleSyncProviderDeleteMode.LocalOnly);
List<ItemFieldDictionary> items = new List<ItemFieldDictionary>();
foreach (ulong id in _store.Ids)
{
items.Add(_store.CreateItemFieldDictionary(id));
}
context.ReportItems(items);
}
参照
リファレンス
ItemEnumerationContext クラス
ItemEnumerationContext メンバー
Microsoft.Synchronization.SimpleProviders 名前空間