Partager via


Interface IFilteredSimpleSyncProvider

Représente un fournisseur qui filtre les données, par conséquent deux réplicas peuvent parfois synchroniser uniquement un sous-ensemble des données disponibles pour chaque réplica.

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

Syntaxe

'Déclaration
Public Interface IFilteredSimpleSyncProvider
'Utilisation
Dim instance As IFilteredSimpleSyncProvider
public interface IFilteredSimpleSyncProvider
public interface class IFilteredSimpleSyncProvider
type IFilteredSimpleSyncProvider =  interface end
public interface IFilteredSimpleSyncProvider

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.

Exemples

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

Membres IFilteredSimpleSyncProvider

Espace de noms Microsoft.Synchronization.SimpleProviders