Compartir a través de


AnchorEnumerationSimpleSyncProvider.EnumerateChanges Método

Cuando se invalida en una clase derivada, enumera los cambios de una réplica que se produjeron a partir del valor de delimitador especificado.

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

Sintaxis

'Declaración
Public MustOverride Sub EnumerateChanges ( _
    anchor As Byte(), _
    context As AnchorEnumerationContext _
)
'Uso
Dim instance As AnchorEnumerationSimpleSyncProvider
Dim anchor As Byte()
Dim context As AnchorEnumerationContext

instance.EnumerateChanges(anchor, context)
public abstract void EnumerateChanges (
    byte[] anchor,
    AnchorEnumerationContext context
)
public:
virtual void EnumerateChanges (
    array<unsigned char>^ anchor, 
    AnchorEnumerationContext^ context
) abstract
public abstract void EnumerateChanges (
    byte[] anchor, 
    AnchorEnumerationContext context
)
public abstract function EnumerateChanges (
    anchor : byte[], 
    context : AnchorEnumerationContext
)

Parámetros

  • anchor
    Matriz de bytes que representa un delimitador de enumeración, por ejemplo una marca de tiempo. Cambios que se produjeron a partir de la enumeración de este delimitador. Si el valor del delimitador es null, el proveedor debería enumerar todos los elementos en el almacén.
  • context
    Objeto AnchorEnumerationContext que permite notificar elementos y cambios, y especificar cómo se controlan las eliminaciones de elementos.

Notas

Este método debe contener o llamar al código específico del almacén para que Sync Framework pueda enumerar los metadatos para todos los elementos del almacén que hayan cambiado a partir del delimitador especificado.

Ejemplo

En el ejemplo de código siguiente se muestra una implementación del método EnumerateChanges para una aplicación de ejemplo que almacena elementos en un almacén en memoria. Para consultar este código en el contexto de una aplicación completa, vea la aplicación "Sync101 using Simple Sync Provider" que está disponible en Sync Framework SDK y en Code Gallery.

public override void EnumerateChanges(byte[] anchor, AnchorEnumerationContext context)
{
    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 Overrides Sub EnumerateChanges(ByVal anchor As Byte(), ByVal context As AnchorEnumerationContext)
    Dim itemChanges As New List(Of LocalItemChange)()

    Dim startIndex As Integer = -1

    If anchor IsNot Nothing Then
        startIndex = _store.Changes.IndexOfKey(BitConverter.ToUInt64(anchor, 0))
    End If

    For i As Integer = startIndex + 1 To _store.Changes.Count - 1
        itemChanges.Add(_store.Changes.Values(i))
    Next

    ' 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())
End Sub

Vea también

Referencia

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