Partager via


Énumération SimpleSyncProviderFilterOptions

Représente les options disponibles pour la synchronisation filtrée.

Espace de noms: Microsoft.Synchronization.SimpleProviders
Assembly: Microsoft.Synchronization.SimpleProviders (dans microsoft.synchronization.simpleproviders.dll)

Syntaxe

'Déclaration
<FlagsAttribute> _
Public Enumeration SimpleSyncProviderFilterOptions
'Utilisation
Dim instance As SimpleSyncProviderFilterOptions
[FlagsAttribute] 
public enum SimpleSyncProviderFilterOptions
[FlagsAttribute] 
public enum class SimpleSyncProviderFilterOptions
/** @attribute FlagsAttribute() */ 
public enum SimpleSyncProviderFilterOptions
FlagsAttribute 
public enum SimpleSyncProviderFilterOptions

Membres

  Nom de membre Description
AlwaysIncludeItemsKnownToDestination Propagez à la destination tous les éléments connus d'une destination, même si les éléments se trouvent hors du filtre. 
None Propagez à la destination uniquement les éléments qui satisfont au filtre. 

Notes

Dans certaines situations, le réplica de destination n'a besoin que d'un sous-ensemble des données disponibles sur le réplica source. Par exemple, un commercial peut n'avoir besoin des informations détaillées des produits que pour les produits qu'il vend régulièrement. Les fournisseurs simples permettent aux réplicas de filtrer des données en implémentant IFilteredSimpleSyncProvider. Pour plus d'informations, consultez Filtrage de données pour les fournisseurs simples.

Exemple

L'exemple de code suivant spécifie en premier lieu l'option de filtre None. Cela signifie que les éléments doivent être filtrés même s'ils sont déjà connus de la destination. L'exemple de code implémente ensuite la méthode IsItemInFilterScope, qui filtre alors des éléments selon l'une des valeurs de champs d'éléments. Après avoir défini le filtre, l'exemple de code implémente la méthode UseFilterThisSession. Cela permet à une application de spécifier si le filtrage doit être utilisé session par session.

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

Voir aussi

Référence

Espace de noms Microsoft.Synchronization.SimpleProviders