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


Свойство SimpleSyncProvider.IdFormats

При переопределении и производном классе возвращает объект SyncIdFormatGroup, представляющий формат идентификатора реплики и элемента.

Пространство имен: Microsoft.Synchronization.SimpleProviders
Сборка: Microsoft.Synchronization.SimpleProviders (в microsoft.synchronization.simpleproviders.dll)

Синтаксис

'Декларация
Public MustOverride ReadOnly Property IdFormats As SyncIdFormatGroup
'Применение
Dim instance As SimpleSyncProvider
Dim value As SyncIdFormatGroup

value = instance.IdFormats
public abstract SyncIdFormatGroup IdFormats { get; }
public:
virtual property SyncIdFormatGroup^ IdFormats {
    SyncIdFormatGroup^ get () abstract;
}
/** @property */
public abstract SyncIdFormatGroup get_IdFormats ()
public abstract function get IdFormats () : SyncIdFormatGroup

Значение свойства

Объект SyncIdFormatGroup, используемый для определения формата реплики и идентификаторов элементов.

Замечания

Чтобы синхронизировать элемент, платформа Sync Framework должна иметь возможность идентифицировать его в хранилище элементов и сопоставить его идентификатор с внутренним идентификатором в хранилище метаданных. Поставщики, выполняющие синхронизацию друг с другом, должны использовать общий формат идентификаторов реплик и элементов, который определяется свойством IdFormats.

Пример

В следующем примере кода определяется конструктор для образца класса MyFullEnumerationSimpleSyncProvider и свойство IdFormats. Это позволяет среде выполнения платформы Sync Framework определить формат, в котором хранятся идентификаторы в хранилище метаданных. Если не используются гибкие идентификаторы, то платформа Sync Framework хранит идентификаторы реплик, элементов и базовых единиц в фиксированном формате. Если используются гибкие идентификаторы, то для их создания необходимы методы интерфейса ISimpleSyncProviderIdGenerator. Чтобы просмотреть этот код в контексте полного приложения, см. приложение "Sync101 using Simple Sync Provider", которое можно найти в пакете Sync Framework SDK или на странице Code Gallery.

public MyFullEnumerationSimpleSyncProvider(string name, MySimpleDataStore store)
{
    _name = name;
    _store = store;

    // Create a file to store metadata for all items and a file to store 
    // the replica ID.
    _replicaMetadataFile = Environment.CurrentDirectory + "\\" + _name.ToString() + ".Metadata";
    _replicaIdFile = Environment.CurrentDirectory + "\\" + _name.ToString() + ".Replicaid";

    // Set ReplicaIdFormat to use a GUID as an ID, and ItemIdFormat to use a GUID plus
    // an 8-byte prefix.
    _idFormats = new SyncIdFormatGroup();
    _idFormats.ItemIdFormat.IsVariableLength = false;
    _idFormats.ItemIdFormat.Length = 24;
    _idFormats.ReplicaIdFormat.IsVariableLength = false;
    _idFormats.ReplicaIdFormat.Length = 16;

    this.ItemConstraint += new EventHandler<SimpleSyncItemConstraintEventArgs>(OnItemConstraint);
    this.ItemConflicting += new EventHandler<SimpleSyncItemConflictingEventArgs>(OnItemConflicting);
}
public SyncId ReplicaId
{
    get 
    {
        if (_replicaId == null)
        {
            _replicaId = GetReplicaIdFromFile( _replicaIdFile);
        }

        return _replicaId; 
    }
}

public override SyncIdFormatGroup IdFormats
{
    get { return _idFormats; }
}
Public Sub New(ByVal name As String, ByVal store As MySimpleDataStore)
    _name = name
    _store = store

    ' Create a file to store metadata for all items and a file to store 
    ' the replica ID. 
    _replicaMetadataFile = (Environment.CurrentDirectory & "\") + _name.ToString() & ".Metadata"
    _replicaIdFile = (Environment.CurrentDirectory & "\") + _name.ToString() & ".Replicaid"

    ' Set ReplicaIdFormat to use a GUID as an ID, and ItemIdFormat to use a GUID plus 
    ' an 8-byte prefix. 
    _idFormats = New SyncIdFormatGroup()
    _idFormats.ItemIdFormat.IsVariableLength = False
    _idFormats.ItemIdFormat.Length = 24
    _idFormats.ReplicaIdFormat.IsVariableLength = False
    _idFormats.ReplicaIdFormat.Length = 16

    AddHandler Me.ItemConstraint, AddressOf HandleItemConstraint
    AddHandler Me.ItemConflicting, AddressOf HandleItemConflicting
End Sub
Public ReadOnly Property ReplicaId() As SyncId
    Get
        If _replicaId Is Nothing Then
            _replicaId = GetReplicaIdFromFile(_replicaIdFile)
        End If

        Return _replicaId
    End Get
End Property

Public Overrides ReadOnly Property IdFormats() As SyncIdFormatGroup
    Get
        Return _idFormats
    End Get
End Property

См. также

Справочник

Класс SimpleSyncProvider
Элементы SimpleSyncProvider
Пространство имен Microsoft.Synchronization.SimpleProviders