Metodo SimpleSyncProvider.GetMetadataStore
Quando sottoposto a override in una classe derivata, viene chiamato dal runtime di Sync Framework per restituire un oggetto MetadataStore per una replica.
Spazio dei nomi: Microsoft.Synchronization.SimpleProviders
Assembly: Microsoft.Synchronization.SimpleProviders (in microsoft.synchronization.simpleproviders.dll)
Sintassi
'Dichiarazione
Public MustOverride Function GetMetadataStore ( _
<OutAttribute> ByRef replicaId As SyncId, _
<OutAttribute> ByRef culture As CultureInfo _
) As MetadataStore
'Utilizzo
Dim instance As SimpleSyncProvider
Dim replicaId As SyncId
Dim culture As CultureInfo
Dim returnValue As MetadataStore
returnValue = instance.GetMetadataStore(replicaId, culture)
public abstract MetadataStore GetMetadataStore (
out SyncId replicaId,
out CultureInfo culture
)
public:
virtual MetadataStore^ GetMetadataStore (
[OutAttribute] SyncId^% replicaId,
[OutAttribute] CultureInfo^% culture
) abstract
public abstract MetadataStore GetMetadataStore (
/** @attribute OutAttribute() */ /** @ref */ SyncId replicaId,
/** @attribute OutAttribute() */ /** @ref */ CultureInfo culture
)
JScript does not support passing value-type arguments by reference.
Parametri
- replicaId
Oggetto SyncId contenente l'ID della replica per cui viene restituito l'oggetto MetadataStore.
- culture
Oggetto CultureInfo che rappresenta la lingua utilizzata per i confronti di stringhe.
Valore restituito
Oggetto MetadataStore che rappresenta un archivio dei metadati per la replica specificata.
Esempio
Ogni replica richiede un archivio dei metadati, che per i provider semplici è un'istanza di SqlMetadataStore. Nell'esempio di codice seguente vengono specificate le opzioni per un archivio nel costruttore di MyFullEnumerationSimpleSyncProvider
:
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 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
Nell'esempio di codice seguente viene creato l'archivio.
private void InitializeMetadataStore()
{
SyncId id = ReplicaId;
// Create or open the metadata store, initializing it with the ID formats
// that are used to reference items and replicas.
if (!File.Exists(_replicaMetadataFile))
{
_metadataStore = SqlMetadataStore.CreateStore(_replicaMetadataFile);
}
else
{
_metadataStore = SqlMetadataStore.OpenStore(_replicaMetadataFile);
}
}
Private Sub InitializeMetadataStore()
Dim id As SyncId = ReplicaId
' Create or open the metadata store, initializing it with the ID formats
' that are used to reference items and replicas.
If Not File.Exists(_replicaMetadataFile) Then
_metadataStore = SqlMetadataStore.CreateStore(_replicaMetadataFile)
Else
_metadataStore = SqlMetadataStore.OpenStore(_replicaMetadataFile)
End If
End Sub
Nel codice seguente viene restituito questo archivio come una proprietà del provider.
public override MetadataStore GetMetadataStore(out SyncId replicaId, out System.Globalization.CultureInfo culture)
{
InitializeMetadataStore();
replicaId = ReplicaId;
culture = CultureInfo.CurrentCulture;
return _metadataStore;
}
Public Overrides Function GetMetadataStore(ByRef replicaId__1 As SyncId, ByRef culture As System.Globalization.CultureInfo) As MetadataStore
InitializeMetadataStore()
replicaId__1 = ReplicaId
culture = CultureInfo.CurrentCulture
Return _metadataStore
End Function
Per visualizzare il codice nel contesto di un'applicazione completa, vedere l'applicazione "Sync101 using Simple Sync Provider"
disponibile in Sync Framework SDK e in Code Gallery.
Vedere anche
Riferimento
Classe SimpleSyncProvider
Membri SimpleSyncProvider
Spazio dei nomi Microsoft.Synchronization.SimpleProviders