다음을 통해 공유


IFilteredSimpleSyncProvider 인터페이스

데이터를 필터링하는 공급자를 나타냅니다. 이 경우 두 복제본이 각 복제본에서 사용할 수 있는 데이터의 하위 집합만 동기화할 수 있습니다.

네임스페이스: Microsoft.Synchronization.SimpleProviders
어셈블리: microsoft.synchronization.simpleproviders.dll의 Microsoft.Synchronization.SimpleProviders

구문

‘선언
Public Interface IFilteredSimpleSyncProvider
‘사용 방법
Dim instance As IFilteredSimpleSyncProvider
public interface IFilteredSimpleSyncProvider
public interface class IFilteredSimpleSyncProvider
public interface IFilteredSimpleSyncProvider
public interface IFilteredSimpleSyncProvider

주의

원본 복제본에서 사용할 수 있는 데이터의 하위 집합만 대상 복제본에 필요한 경우도 있습니다. 예를 들어 정기적으로 판매하는 제품에 대해서만 자세한 제품 정보를 필요로 하는 영업 사원이 있을 수 있습니다. 단순 공급자를 사용하면 IFilteredSimpleSyncProvider를 구현하여 복제본에서 데이터를 필터링할 수 있습니다. 자세한 내용은 단순 공급자의 데이터 필터링을 참조하십시오.

예제

다음 코드 예제에서는 우선 필터 옵션을 None으로 지정합니다. 즉, 대상에 이미 알려진 경우에도 항목을 필터링해야 합니다. 그런 다음 코드 예제에서 항목 필드 값 중 하나를 기준으로 항목을 필터링하는 IsItemInFilterScope 메서드를 구현합니다. 필터를 정의한 후 코드 예제에서 UseFilterThisSession 메서드를 구현합니다. 이렇게 하면 응용 프로그램에서 세션 단위로 필터링을 사용할지 여부를 지정할 수 있습니다.

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

참고 항목

참조

IFilteredSimpleSyncProvider 멤버
Microsoft.Synchronization.SimpleProviders 네임스페이스