AnchorEnumerationSimpleSyncProvider.EnumerateChanges 메서드
파생 클래스에서 재정의되면 지정된 앵커 값 이후 발생한 변경 내용을 복제본에서 열거합니다.
네임스페이스: Microsoft.Synchronization.SimpleProviders
어셈블리: microsoft.synchronization.simpleproviders.dll의 Microsoft.Synchronization.SimpleProviders
구문
‘선언
Public MustOverride Sub EnumerateChanges ( _
anchor As Byte(), _
context As AnchorEnumerationContext _
)
‘사용 방법
Dim instance As AnchorEnumerationSimpleSyncProvider
Dim anchor As Byte()
Dim context As AnchorEnumerationContext
instance.EnumerateChanges(anchor, context)
public abstract void EnumerateChanges (
byte[] anchor,
AnchorEnumerationContext context
)
public:
virtual void EnumerateChanges (
array<unsigned char>^ anchor,
AnchorEnumerationContext^ context
) abstract
public abstract void EnumerateChanges (
byte[] anchor,
AnchorEnumerationContext context
)
public abstract function EnumerateChanges (
anchor : byte[],
context : AnchorEnumerationContext
)
매개 변수
- anchor
타임스탬프와 같은 열거형 앵커를 나타내는 바이트 배열입니다. 이 앵커 이후에 발생한 변경 내용이 열거됩니다. 앵커가 null이면 공급자는 저장소의 모든 항목을 열거해야 합니다.
- context
항목과 변경 내용을 보고하고 항목 삭제가 처리되는 방법을 지정할 수 있도록 하는 AnchorEnumerationContext 개체입니다.
주의
이 메서드는 Sync Framework를 사용하여 지정된 앵커 이후에 변경된 저장소의 모든 항목에 대한 메타데이터를 열거할 수 있도록 설정하는 저장소별 코드를 포함하거나 호출해야 합니다.
예제
다음 코드 예제에서는 메모리 내 저장소에 항목을 저장하는 예제 응용 프로그램에 대한 EnumerateChanges 메서드의 구현을 보여 줍니다. 전체 응용 프로그램의 맥락에서 이 코드를 보려면 Sync Framework SDK 및 Code Gallery에서 사용할 수 있는 "Sync101 using Simple Sync Provider"
응용 프로그램을 참조하십시오.
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
참고 항목
참조
AnchorEnumerationSimpleSyncProvider 클래스
AnchorEnumerationSimpleSyncProvider 멤버
Microsoft.Synchronization.SimpleProviders 네임스페이스