AnchorEnumerationSimpleSyncProvider.GetEnumerationAnchor 方法
在衍生類別中覆寫時,會傳回用來判斷要在工作階段期間同步處理之變更集的列舉錨定。
命名空間: Microsoft.Synchronization.SimpleProviders
組件: Microsoft.Synchronization.SimpleProviders (在 microsoft.synchronization.simpleproviders.dll)
語法
'宣告
Public MustOverride Function GetEnumerationAnchor As Byte()
'用途
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[]
傳回值
表示列舉錨定的位元組陣列,例如時間戳記。
備註
錨定是指一個時間點。時間可以是邏輯時間 (例如時間戳記或其他單純遞增的數字),也可以是時鐘時間。在最初的同步處理工作階段期間,此錨定值為 Null,因此存放區中的所有項目都會列舉。在後續的同步處理工作階段中,則會呼叫 GetEnumerationAnchor 方法來提供新的錨定值。在前一個錨定值之後與這個新錨定值之前進行的變更,都會同步處理。然後這個新錨定值會由 Sync Framework 儲存,並且用來當做下次同步處理工作階段的前一個錨定值。
範例
下列程式碼範例針對將項目儲存在記憶體中存放區的範例應用程式示範 GetEnumerationAnchor 方法的實作。GetAnchor
方法是範例方法,它會傳回存放區的錨定,也就是傳送給 Sync Framework 的上一次變更的時間戳記。若要在完整應用程式的內容中檢視這段程式碼,請參閱 Sync Framework SDK 及 Code Gallery 中的 "Sync101 using Simple Sync Provider"
應用程式。
注意
這是非常簡單的錨定和變更追蹤實作。如果是實際的錨定實作,您必須考量在同步處理工作階段中發生套用使用者變更到存放區時可能引發的開放式並行問題。
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
請參閱
參考
AnchorEnumerationSimpleSyncProvider 類別
AnchorEnumerationSimpleSyncProvider 成員
Microsoft.Synchronization.SimpleProviders 命名空間