Перечисление SimpleSyncProviderFilterOptions
Представляет параметры, доступные для синхронизации с фильтрацией.
Пространство имен: Microsoft.Synchronization.SimpleProviders
Сборка: Microsoft.Synchronization.SimpleProviders (в microsoft.synchronization.simpleproviders.dll)
Синтаксис
'Декларация
<FlagsAttribute> _
Public Enumeration SimpleSyncProviderFilterOptions
'Применение
Dim instance As SimpleSyncProviderFilterOptions
[FlagsAttribute]
public enum SimpleSyncProviderFilterOptions
[FlagsAttribute]
public enum class SimpleSyncProviderFilterOptions
/** @attribute FlagsAttribute() */
public enum SimpleSyncProviderFilterOptions
FlagsAttribute
public enum SimpleSyncProviderFilterOptions
Элементы
Имя члена | Описание | |
---|---|---|
AlwaysIncludeItemsKnownToDestination | Распространить все элементы, известные назначению, даже если они выходят за пределы фильтра. | |
None | Распространить только те элементы, которые удовлетворяют условию фильтра. |
Замечания
В некоторых ситуациях конечной реплике требуется только подмножество данных, доступных в исходной реплике. Например, менеджеру по продажам могут требоваться подробные сведения только о тех продуктах, которые продаются регулярно. Простые поставщики поддерживают фильтрацию данных репликами через реализацию интерфейса 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