Compartir a través de


AnchorEnumerationSimpleSyncProvider.GetEnumerationAnchor Método

Cuando se invalida en una clase derivada, devuelve un delimitador de enumeración que se utiliza para determinar el conjunto de cambios que se van a sincronizar durante una sesión.

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

Sintaxis

'Declaración
Public MustOverride Function GetEnumerationAnchor As Byte()
'Uso
Dim instance As AnchorEnumerationSimpleSyncProvider
Dim returnValue As Byte()

returnValue = instance.GetEnumerationAnchor
public abstract byte[] GetEnumerationAnchor ()
public:
virtual array<unsigned char>^ GetEnumerationAnchor () abstract
public abstract byte[] GetEnumerationAnchor ()
public abstract function GetEnumerationAnchor () : byte[]

Valor devuelto

Matriz de bytes que representa un delimitador de enumeración, por ejemplo una marca de tiempo.

Notas

Un delimitador es un punto en el tiempo. El tiempo puede ser lógico, como la marca de tiempo u otro número que aumenta regularmente, o bien, una hora del reloj. Durante la primera sesión de sincronización, el valor de delimitador es NULL; por ello, todos los elementos en el almacén se enumeran. En sesiones de sincronización posteriores, se llama al método GetEnumerationAnchor para proporcionar un valor de delimitador nuevo. Se sincronizan los cambios realizados tras el valor de delimitador anterior y antes del valor de delimitador nuevo. Sync Framework almacena el nuevo valor de delimitador y se utiliza como el valor de delimitador anterior para la próxima sesión de sincronización.

Ejemplo

En los ejemplos de código siguientes se muestra una implementación del método GetEnumerationAnchor para una aplicación de ejemplo que almacena elementos en un almacén en memoria. El método GetAnchor es un método de ejemplo que devuelve un delimitador para el almacén, que es el valor de marca de tiempo del último cambio entregado a Sync Framework. 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.

Nota

Se trata de un delimitador e implementación de seguimiento de cambios muy simple. En la implementación de un delimitador de producción, sería necesario considerar los problemas de simultaneidad optimista que pueden surgir cuando se producen los cambios del usuario en el almacén durante una sesión de sincronización.

public override byte[] GetEnumerationAnchor()
{
    return _store.GetAnchor();
}
public byte[] GetAnchor()
{
    //Use the timestamp of the last change as the anchor.
    if (_trackedChanges.Count > 0)
    {
        return BitConverter.GetBytes(_trackedChanges.Keys[_trackedChanges.Count - 1]);
    }
    else
    {
        return null;
    }
}
Public Overrides Function GetEnumerationAnchor() As Byte()
    Return _store.GetAnchor()
End Function
Public Function GetAnchor() As Byte()
    'Use the timestamp of the last change as the anchor. 
    If _trackedChanges.Count > 0 Then
        Return BitConverter.GetBytes(_trackedChanges.Keys(_trackedChanges.Count - 1))
    Else
        Return Nothing
    End If
End Function

Vea también

Referencia

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