Enumeração SimpleSyncProviderDeleteMode
Representa as opções para o caso de a exclusão de um item local ser propagada para outras réplicas.
Namespace: Microsoft.Synchronization.SimpleProviders
Assembly: Microsoft.Synchronization.SimpleProviders (em microsoft.synchronization.simpleproviders.dll)
Sintaxe
'Declaração
Public Enumeration SimpleSyncProviderDeleteMode
'Uso
Dim instance As SimpleSyncProviderDeleteMode
public enum SimpleSyncProviderDeleteMode
public enum class SimpleSyncProviderDeleteMode
public enum SimpleSyncProviderDeleteMode
public enum SimpleSyncProviderDeleteMode
Membros
Nome do membro | Descrição | |
---|---|---|
LocalOnly | O item é excluído do repositório local, mas a exclusão não é propagada para outras réplicas. | |
Normal | O item é excluído do repositório local, e a exclusão é propagada para outras réplicas. |
Comentários
Alguns cenários de sincronização exigem a capacidade de excluir um item em uma réplica local sem propagar essa exclusão para outras réplicas. Por exemplo, um servidor pode sincronizar com vários dispositivos que armazenam informações para diferentes vendedores. Cada dispositivo tem espaço limitado. Assim, os vendedores excluem ordens concluídas antigas do dispositivo. Esses tipos de exclusões não devem ser propagadas para o servidor, porque o servidor ainda necessita dos dados. Os provedores simples permitem especificar que os dados só devem ser excluídos localmente. Para controlar o comportamento das exclusões por sessão, especifique a opção apropriada para o método SetDeleteMode.
Exemplo
O exemplo de código a seguir especifica que as exclusões não devem ser propagadas durante a sincronização.
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());
}