다음을 통해 공유


SimpleSyncProviderDeleteMode 열거형

로컬 항목 삭제가 다른 복제본에 전파되는지 여부에 대한 옵션을 나타냅니다.

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

구문

‘선언
Public Enumeration SimpleSyncProviderDeleteMode
‘사용 방법
Dim instance As SimpleSyncProviderDeleteMode
public enum SimpleSyncProviderDeleteMode
public enum class SimpleSyncProviderDeleteMode
public enum SimpleSyncProviderDeleteMode
public enum SimpleSyncProviderDeleteMode

멤버

  멤버 이름 설명
LocalOnly 로컬 저장소에서 항목이 삭제되지만 다른 복제본에 삭제가 전파되지 않습니다. 
Normal 로컬 저장소에서 항목이 삭제되고 다른 복제본에 삭제가 전파됩니다. 

주의

일부 동기화 시나리오에서는 해당 삭제를 다른 복제본으로 전파하지 않고 로컬 복제본에서 항목을 삭제할 수 있는 기능이 필요합니다. 예를 들어 서로 다른 영업 사원의 정보를 저장하는 몇 가지 장치와 서버를 동기화할 수 있습니다. 각 장치의 공간은 제한되어 있으므로 영업 사원은 장치에서 오래 전에 완료된 주문을 삭제합니다. 서버에서 이 데이터를 필요로 할 수 있으므로 이러한 종류의 삭제는 서버로 전파되면 안 됩니다. 단순 공급자에서는 로컬로 삭제해야 하는 데이터를 지정할 수 있습니다. 세션 단위로 삭제 동작을 제어하려면 SetDeleteMode 메서드에 적절한 옵션을 지정합니다.

예제

다음 코드 예제에서는 동기화 중에 삭제가 전파되지 않도록 지정합니다.

public override void EnumerateChanges(byte[] anchor, AnchorEnumerationContext context)
{

    context.SetDeleteMode(SimpleSyncProviderDeleteMode.LocalOnly);
    
    List<LocalItemChange> itemChanges = new List<LocalItemChange>();

    int startIndex = -1;

    if (anchor != null)
    {
        startIndex = _store.Changes.IndexOfKey(BitConverter.ToUInt64(anchor, 0));
    }

    for (int i = startIndex + 1; i < _store.Changes.Count; i++)
    {
        itemChanges.Add(_store.Changes.Values[i]);
    }

    // If the anchor is corrupt or out of date we could revert back to 
    // full enumeration mode for this session, and enumerate all items. 
    // This is done by calling context.ReportItemsAndAutodetectDeletes.
    context.ReportChanges(itemChanges, _store.GetAnchor());
}
public override void EnumerateChanges(byte[] anchor, AnchorEnumerationContext context) 
{ 

context.SetDeleteMode(SimpleSyncProviderDeleteMode.LocalOnly); 

List<LocalItemChange> itemChanges = new List<LocalItemChange>(); 

int startIndex = -1; 

if (anchor != null) 
{ 
startIndex = _store.Changes.IndexOfKey(BitConverter.ToUInt64(anchor, 0)); 
} 

for (int i = startIndex + 1; i < _store.Changes.Count; i++) 
{ 
itemChanges.Add(_store.Changes.Values[i]); 
} 

// If the anchor is corrupt or out of date we could revert back to 
// full enumeration mode for this session, and enumerate all items. 
// This is done by calling context.ReportItemsAndAutodetectDeletes. 
context.ReportChanges(itemChanges, _store.GetAnchor()); 
} 

참고 항목

참조

Microsoft.Synchronization.SimpleProviders 네임스페이스