Поделиться через


Метод 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. Чтобы просмотреть этот код в контексте полного приложения, см. приложение "Sync101 using Simple Sync Provider", которое можно найти в пакете Sync Framework SDK или на странице Code Gallery.

NoteПримечание.

Это очень простая привязка и реализация отслеживания изменений. Для производственной реализации привязки придется предусмотреть меры предотвращения проблем оптимистичного параллелизма, которые могут возникнуть, если пользователь производит изменения в хранилище во время проведения сеанса синхронизации.

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