Méthode SimpleSyncProvider.GetMetadataStore
En cas de substitution dans une classe dérivée, appelé par le runtime de Sync Framework pour retourner un objet MetadataStore pour un réplica.
Espace de noms: Microsoft.Synchronization.SimpleProviders
Assembly: Microsoft.Synchronization.SimpleProviders (dans microsoft.synchronization.simpleproviders.dll)
Syntaxe
'Déclaration
Public MustOverride Function GetMetadataStore ( _
<OutAttribute> ByRef replicaId As SyncId, _
<OutAttribute> ByRef culture As CultureInfo _
) As MetadataStore
'Utilisation
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.
Paramètres
- replicaId
Objet SyncId qui contient l'ID du réplica pour lequel l'objet MetadataStore est retourné.
- culture
Objet CultureInfo qui représente la culture utilisée pour les comparaisons de chaînes.
Valeur de retour
Objet MetadataStore qui représente un magasin des métadonnées pour le réplica spécifié.
Exemple
Chaque réplica requiert un magasin des métadonnées, qui, pour les fournisseurs simples, est une instance de SqlMetadataStore. L'exemple de code suivant spécifie des options pour un magasin dans le constructeur de 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
L'exemple de code suivant crée le magasin.
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
Le code suivant retourne ce magasin en tant que propriété de fournisseur.
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
Pour consulter ce code dans le contexte d'une application complète, consultez l'application "Sync101 using Simple Sync Provider"
qui est disponible dans le Kit de développement logiciel (SDK) Sync Framework et de Code Gallery.
Voir aussi
Référence
Classe SimpleSyncProvider
Membres SimpleSyncProvider
Espace de noms Microsoft.Synchronization.SimpleProviders