Интерфейс IFilteredSimpleSyncProvider
Представляет поставщика с фильтрацией данных, что дает возможность синхронизировать только подмножество данных, доступное на каждой из реплик.
Пространство имен: 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