Freigeben über


IFilteredSimpleSyncProvider-Schnittstelle

Stellt einen Anbieter dar, der Daten filtert. Dies kann zu zwei Replikaten führen, die nur eine Teilmenge der Daten synchronisieren, die auf jedem Replikat verfügbar sind.

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

Syntax

'Declaration
Public Interface IFilteredSimpleSyncProvider
'Usage
Dim instance As IFilteredSimpleSyncProvider
public interface IFilteredSimpleSyncProvider
public interface class IFilteredSimpleSyncProvider
public interface IFilteredSimpleSyncProvider
public interface IFilteredSimpleSyncProvider

Hinweise

In einigen Situationen erfordert das Zielreplikat nur eine Teilmenge der Daten, die beim Quellreplikat verfügbar sind. Beispielsweise könnte eine Vertriebsmitarbeiterin ausführliche Produktinformationen nur für solche Produkte benötigen, die sie regelmäßig verkauft. Einfache Anbieter aktivieren Replikate, um Daten zu filtern, indem IFilteredSimpleSyncProvider implementiert wird. Weitere Informationen finden Sie unter Filtern von Daten für einfache Anbieter.

Beispiel

Im folgenden Codebeispiel wird zuerst eine Filteroption von None angegeben. Dies bedeutet, dass Elemente auch dann herausgefiltert werden sollen, wenn sie dem Ziel bereits bekannt sind. Im Codebeispiel wird dann die IsItemInFilterScope-Methode implementiert, die Elemente anhand eines der Elementfeldwerte herausfiltert. Nachdem der Filter definiert wurde, wird im Codebeispiel die UseFilterThisSession-Methode implementiert. Dadurch kann von einer Anwendung festgelegt werden, ob eine Filterung für die jeweilige Sitzung verwendet werden soll.

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

Siehe auch

Verweis

IFilteredSimpleSyncProvider-Member
Microsoft.Synchronization.SimpleProviders-Namespace