Compartir a través de


SimpleSyncProviderDeleteMode Enumeración

Representa las opciones para indicar si una eliminación local de elementos se propaga a otras réplicas.

Espacio de nombres:  Microsoft.Synchronization.SimpleProviders
Ensamblado:  Microsoft.Synchronization.SimpleProviders (en Microsoft.Synchronization.SimpleProviders.dll)

Sintaxis

'Declaración
Public Enumeration SimpleSyncProviderDeleteMode
'Uso
Dim instance As SimpleSyncProviderDeleteMode
public enum SimpleSyncProviderDeleteMode
public enum class SimpleSyncProviderDeleteMode
type SimpleSyncProviderDeleteMode
public enum SimpleSyncProviderDeleteMode

Miembros

Nombre del miembro Descripción
Normal El elemento se elimina del almacén local y la eliminación se propaga a otras réplicas.
LocalOnly El elemento se elimina del almacén local pero la eliminación no se propaga a otras réplicas.

Notas

Algunos escenarios de sincronización requieren que se pueda eliminar un elemento en la réplica local sin que esta eliminación se propague a otras réplicas. Por ejemplo, un servidor podría sincronizarse con varios dispositivos que almacenan información de distintos vendedores. Cada dispositivo tiene un espacio limitado, por lo que los vendedores eliminan los pedidos completados antiguos del dispositivo. Este tipo de eliminaciones no deberían propagarse al servidor, pues el servidor necesita estos datos. Los proveedores simples permiten especificar que los datos deben eliminarse solo localmente. Para controlar el comportamiento de las eliminaciones de cada sesión, especifique la opción adecuada para el método SetDeleteMode.

Ejemplos

En el ejemplo de código siguiente se especifica que las eliminaciones no deben propagarse durante la sincronización.

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()); 
} 

Vea también

Referencia

Microsoft.Synchronization.SimpleProviders Espacio de nombres