Перечисление SimpleSyncProviderDeleteMode

Представляет параметры, согласно которым удаление локального элемента распространяется на другие реплики.

Пространство имен: Microsoft.Synchronization.SimpleProviders
Сборка: Microsoft.Synchronization.SimpleProviders (в microsoft.synchronization.simpleproviders.dll)

Синтаксис

'Декларация
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