AnchorEnumerationContext Clase

Contexto de la sesión de sincronización que se pasa a un objeto AnchorEnumerationSimpleSyncProvider.

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

Sintaxis

'Declaración
Public Class AnchorEnumerationContext _
    Inherits ItemEnumerationContext
'Uso
Dim instance As AnchorEnumerationContext
public class AnchorEnumerationContext : ItemEnumerationContext
public ref class AnchorEnumerationContext : public ItemEnumerationContext
type AnchorEnumerationContext =  
    class
        inherit ItemEnumerationContext
    end
public class AnchorEnumerationContext extends ItemEnumerationContext

Notas

El proveedor puede utilizar el contexto en casos en que el proveedor no va a devolver una enumeración de elementos o necesita modificar el comportamiento de la enumeración del tiempo de ejecución de Sync Framework. 

Ejemplos

En el ejemplo de código siguiente se muestra cómo se pasa el objeto AnchorEnumerationContext al método EnumerateChanges y cómo se llama al método ReportChanges en el objeto de contexto. 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

Jerarquía de herencia

System. . :: . .Object
  Microsoft.Synchronization.SimpleProviders. . :: . .ItemEnumerationContext
    Microsoft.Synchronization.SimpleProviders..::..AnchorEnumerationContext

Seguridad para subprocesos

Todos los miembros públicos static (Shared en Visual Basic) de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Vea también

Referencia

AnchorEnumerationContext Miembros

Microsoft.Synchronization.SimpleProviders Espacio de nombres