IFilteredSimpleSyncProvider インターフェイス
データをフィルターするプロバイダーを表します。フィルター処理の結果、2 つのレプリカの間で、それぞれの使用可能なデータのサブセットのみが同期される可能性があります。
名前空間: Microsoft.Synchronization.SimpleProviders
アセンブリ: Microsoft.Synchronization.SimpleProviders (microsoft.synchronization.simpleproviders.dll 内)
構文
'宣言
Public Interface IFilteredSimpleSyncProvider
'使用
Dim instance As IFilteredSimpleSyncProvider
public interface IFilteredSimpleSyncProvider
public interface class IFilteredSimpleSyncProvider
public interface IFilteredSimpleSyncProvider
public interface IFilteredSimpleSyncProvider
解説
同期先レプリカに同期元レプリカのすべてのデータが必要とは限りません。データのサブセットだけでよい場合もあります。たとえば、販売担当者にとっては、普段自分が取り扱っている商品についてのみ詳しい情報が入手できれば十分です。簡易プロバイダーに IFilteredSimpleSyncProvider を実装すると、レプリカのデータをフィルター選択できるようになります。詳細については、「簡易プロバイダーのデータのフィルター選択」を参照してください。
例
次のコード例では、まず、フィルター オプションとして None を指定します。これは、同期先が把握している項目も除外されることを意味します。コード例には、さらに、IsItemInFilterScope メソッドが実装されています。このメソッドで、項目フィールドのいずれかの値に基づいて項目を除外します。フィルター定義の後は、UseFilterThisSession メソッドが実装されています。これで、アプリケーションから、フィルター選択を使用するかどうかをセッション単位で指定できるようになります。
SimpleSyncProviderFilterOptions IFilteredSimpleSyncProvider.FilterOptions
{
get
{
return SimpleSyncProviderFilterOptions.None;
}
}
bool IFilteredSimpleSyncProvider.IsItemInFilterScope(ItemFieldDictionary KeyAndVersion)
{
ulong itemId = (ulong)KeyAndVersion[1].Value;
ItemData itemData = _store.Get(itemId);
if (itemData["data"] == "3333")
{
return false;
}
return true;
}
bool IFilteredSimpleSyncProvider.UseFilterThisSession
{
get
{
// Indicate whether a filter has been requested and agreed upon for this session.
return ("" != _filter);
}
}
Private ReadOnly Property FilterOptions() As SimpleSyncProviderFilterOptions Implements IFilteredSimpleSyncProvider.FilterOptions
Get
Return SimpleSyncProviderFilterOptions.None
End Get
End Property
Private Function IsItemInFilterScope(ByVal KeyAndVersion As ItemFieldDictionary) As Boolean Implements IFilteredSimpleSyncProvider.IsItemInFilterScope
Dim itemId As ULong = KeyAndVersion(1).Value
Dim data As ItemData = _store.Get(itemId)
If data("data") Is "3333" Then
Return False
End If
Return True
End Function
Private ReadOnly Property UseFilterThisSession() As Boolean Implements IFilteredSimpleSyncProvider.UseFilterThisSession
Get
' Indicate whether a filter has been requested and agreed upon for this session.
Return "" Is _filter
End Get
End Property
参照
リファレンス
IFilteredSimpleSyncProvider メンバー
Microsoft.Synchronization.SimpleProviders 名前空間