Share via


Interface IFilteredSimpleSyncProvider

Representa um provedor que filtra dados, o que pode resultar em duas réplicas que sincronizam somente um subconjunto dos dados que estão disponíveis em cada réplica.

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

Sintaxe

'Declaração
Public Interface IFilteredSimpleSyncProvider
'Uso
Dim instance As IFilteredSimpleSyncProvider
public interface IFilteredSimpleSyncProvider
public interface class IFilteredSimpleSyncProvider
public interface IFilteredSimpleSyncProvider
public interface IFilteredSimpleSyncProvider

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

Membros IFilteredSimpleSyncProvider
Namespace Microsoft.Synchronization.SimpleProviders