Поделиться через


Перечисление 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

См. также

Справочник

Пространство имен Microsoft.Synchronization.SimpleProviders