AnchorEnumerationContext Class
The synchronization session context that is passed to an AnchorEnumerationSimpleSyncProvider object.
System.Object
Microsoft.Synchronization.SimpleProviders.ItemEnumerationContext
Microsoft.Synchronization.SimpleProviders.AnchorEnumerationContext
Microsoft.Synchronization.SimpleProviders.ItemEnumerationContext
Microsoft.Synchronization.SimpleProviders.AnchorEnumerationContext
Assembly: Microsoft.Synchronization.SimpleProviders (in Microsoft.Synchronization.SimpleProviders.dll)
The AnchorEnumerationContext type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | Equals | (Inherited from Object.) |
![]() | Finalize | (Inherited from Object.) |
![]() | GetHashCode | (Inherited from Object.) |
![]() | GetType | (Inherited from Object.) |
![]() | MemberwiseClone | (Inherited from Object.) |
![]() | ReportChanges | Reports the set of changes that were retrieved during a call to EnumerateChanges. |
![]() | ReportItemsAndAutodetectDeletes | Reports item changes, including deletes, when a full enumeration of a replica is required by an anchor-based provider. |
![]() | SetDeleteMode | Sets whether a delete is a normal delete that is propagated to other replicas, or a local-only delete. (Overrides ItemEnumerationContext.SetDeleteMode(SimpleSyncProviderDeleteMode).) |
![]() | ToString | (Inherited from Object.) |
The following code example shows the AnchorEnumerationContext object being passed to the EnumerateChanges method, and the ReportChanges method being called on the context object. To view this code in the context of a complete application, see the "Sync101 using Simple Sync Provider" application that is available in the Sync Framework SDK and from 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
Show:
