Share via


Enumeração SimpleSyncProviderFilterOptions

Representa as opções que estão disponíveis para sincronização filtrada.

Namespace: Microsoft.Synchronization.SimpleProviders
Assembly: Microsoft.Synchronization.SimpleProviders (em microsoft.synchronization.simpleproviders.dll)

Sintaxe

'Declaração
<FlagsAttribute> _
Public Enumeration SimpleSyncProviderFilterOptions
'Uso
Dim instance As SimpleSyncProviderFilterOptions
[FlagsAttribute] 
public enum SimpleSyncProviderFilterOptions
[FlagsAttribute] 
public enum class SimpleSyncProviderFilterOptions
/** @attribute FlagsAttribute() */ 
public enum SimpleSyncProviderFilterOptions
FlagsAttribute 
public enum SimpleSyncProviderFilterOptions

Membros

  Nome do membro Descrição
AlwaysIncludeItemsKnownToDestination Propaga para o destino todos os itens que um destino conhece, mesmo que os itens fiquem fora do filtro. 
None Propaga para o destino somente os itens que satisfazem o filtro. 

Comentários

Em algumas situações, a réplica de destino requer apenas um subconjunto dos dados disponíveis na réplica de origem. Por exemplo, um vendedor pode exigir informações detalhadas somente dos produtos vendidos regularmente. Os provedores simples habilitam as réplicas para filtrar dados por meio da implementação de IFilteredSimpleSyncProvider. Para obter mais informações, consulte Filtrando dados para provedores simples.

Exemplo

O exemplo de código a seguir especifica primeiro uma opção de filtro None. Isso significa que os itens devem ser filtrados mesmo se forem conhecidos do destino. O exemplo de código implementa, em seguida, o método IsItemInFilterScope, que filtra itens com base em um dos valores de campo de item. Depois que o filtro é definido, o exemplo de código implementa o método UseFilterThisSession. Isso permite que um aplicativo especifique se a filtragem deve ser usada por sessão.

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

Consulte também

Referência

Namespace Microsoft.Synchronization.SimpleProviders