Classe AnchorEnumerationContext
Contesto della sessione di sincronizzazione passato a un oggetto AnchorEnumerationSimpleSyncProvider.
Spazio dei nomi: Microsoft.Synchronization.SimpleProviders
Assembly: Microsoft.Synchronization.SimpleProviders (in microsoft.synchronization.simpleproviders.dll)
Sintassi
'Dichiarazione
Public Class AnchorEnumerationContext
Inherits ItemEnumerationContext
'Utilizzo
Dim instance As AnchorEnumerationContext
public class AnchorEnumerationContext : ItemEnumerationContext
public ref class AnchorEnumerationContext : public ItemEnumerationContext
public class AnchorEnumerationContext extends ItemEnumerationContext
public class AnchorEnumerationContext extends ItemEnumerationContext
Osservazioni
Il contesto può essere utilizzato dal provider in situazioni in cui il provider non restituirà un'enumerazione di elementi o necessita di modificare il comportamento di enumerazione del runtime di Sync Framework.
Esempio
Nell'esempio di codice seguente viene illustrato il passaggio dell'oggetto AnchorEnumerationContext al metodo EnumerateChanges e la chiamata al metodo ReportChanges sull'oggetto di contesto. 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.
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
Gerarchia di ereditarietà
System.Object
Microsoft.Synchronization.SimpleProviders.ItemEnumerationContext
Microsoft.Synchronization.SimpleProviders.AnchorEnumerationContext
Thread Safety
Tutti i membri statici pubblici (Shared in Visual Basic) di questo tipo sono thread safe. I membri di istanza non hanno garanzia di essere thread safe.
Vedere anche
Riferimento
Membri AnchorEnumerationContext
Spazio dei nomi Microsoft.Synchronization.SimpleProviders