Compartir a través de


AnchorEnumerationContext.SetDeleteMode Método

Establece si una eliminación es una eliminación normal que se propaga a otras réplicas, o una eliminación exclusivamente local.

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

Sintaxis

'Declaración
Public Overrides Sub SetDeleteMode ( _
    deleteMode As SimpleSyncProviderDeleteMode _
)
'Uso
Dim instance As AnchorEnumerationContext
Dim deleteMode As SimpleSyncProviderDeleteMode

instance.SetDeleteMode(deleteMode)
public override void SetDeleteMode (
    SimpleSyncProviderDeleteMode deleteMode
)
public:
virtual void SetDeleteMode (
    SimpleSyncProviderDeleteMode deleteMode
) override
public void SetDeleteMode (
    SimpleSyncProviderDeleteMode deleteMode
)
public override function SetDeleteMode (
    deleteMode : SimpleSyncProviderDeleteMode
)

Parámetros

  • deleteMode
    Valor de enumeración SimpleSyncProviderDeleteMode que especifica si una eliminación es una eliminación normal que se propaga a otras réplicas, o una eliminación exclusivamente local.

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 mediante el uso de este método.

Ejemplo

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

AnchorEnumerationContext Clase
AnchorEnumerationContext Miembros
Microsoft.Synchronization.SimpleProviders Espacio de nombres