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