Condividi tramite


Metodo AnchorEnumerationSimpleSyncProvider.GetEnumerationAnchor

Quando sottoposto a override in una classe derivata, restituisce un ancoraggio dell'enumerazione utilizzato per determinare il set di modifiche da sincronizzare durante una sessione.

Spazio dei nomi: Microsoft.Synchronization.SimpleProviders
Assembly: Microsoft.Synchronization.SimpleProviders (in microsoft.synchronization.simpleproviders.dll)

Sintassi

'Dichiarazione
Public MustOverride Function GetEnumerationAnchor As Byte()
'Utilizzo
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[]

Valore restituito

Matrice di byte che rappresenta un ancoraggio dell'enumerazione, ad esempio un timestamp.

Osservazioni

Un ancoraggio è un momento specifico. L'ora può essere l'ora logica, ad esempio un timestamp o un altro numero a incremento progressivo oppure può essere il tempo di clock. Durante la prima sessione di sincronizzazione, il valore di ancoraggio è null, di conseguenza tutti gli elementi nell'archivio vengono enumerati. Durante le sessioni di sincronizzazione successive, viene chiamato il metodo GetEnumerationAnchor per fornire un nuovo valore di ancoraggio. Vengono sincronizzate le modifiche apportate dopo il valore di ancoraggio precedente e prima del nuovo valore di ancoraggio. Il nuovo valore di ancoraggio viene quindi archiviato da Sync Framework e utilizzato come valore di ancoraggio precedente per la sessione di sincronizzazione successiva.

Esempio

Nell'esempio di codice seguente viene illustrata un'implementazione del metodo GetEnumerationAnchor per un'applicazione di esempio che archivia elementi in un archivio in memoria. Il metodo GetAnchor è un metodo di esempio che restituisce un ancoraggio per l'archivio che è il timestamp dell'ultima modifica passata a Sync Framework. Per visualizzare il codice nel contesto di un'applicazione completa, vedere l'applicazione "Sync101 using Simple Sync Provider" disponibile in Sync Framework SDK e in Code Gallery.

Nota

Si tratta di un'implementazione di rilevamento delle modifiche e di ancoraggio molto semplice. Per un'implementazione di ancoraggio di produzione, è opportuno considerare problemi di concorrenza ottimistica che possono verificarsi quando l'utente passa all'archivio durante una sessione di sincronizzazione.

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

Vedere anche

Riferimento

Classe AnchorEnumerationSimpleSyncProvider
Membri AnchorEnumerationSimpleSyncProvider
Spazio dei nomi Microsoft.Synchronization.SimpleProviders