Komponenten des Metadatenspeicherdiensts von Sync Framework
Der Metadatenspeicherdienst stellt Unterstützung für das Speichern und Behandeln von Synchronisierungsmetadaten bereit.
Metadatenspeicherdienst-API
Die Metadatenspeicherdienst-API besteht aus den folgenden Elementen:
Verwenden des Metadatenspeicherdiensts
Der Metadatenspeicherdienst ist ein Satz von Schnittstellen, der das Implementieren eines benutzerdefinierten Satzes von Klassen zum Speichern von Metadaten in beliebigen Datenspeichern ermöglicht. Der Metadatenspeicherdienst stellt außerdem eine Implementierung der Schnittstelle bereit, die mit einer vereinfachten Datenbank Synchronisierungsmetadaten in einer einzelnen Datenbankdatei eines Dateisystems speichert.
Initialisieren von Metadaten
Die Hauptschnittstelle für alle Metadatenspeicher ist ISyncMetadataStore. Diese Schnittstelle enthält Methoden, um Replikatmetadaten im Metadatenspeicher zu initialisieren und abzurufen sowie Transaktionen für die Datenbank zu starten und zu beenden. Schnittstellen, die von dieser Schnittstelle erben, z. B. ISqlSyncMetadataStore, können Methoden zum Erstellen und Öffnen von Metadatenspeichern bereitstellen.
ISyncMetadataStore::InitializeReplicaMetadata initialisiert Replikatmetadaten im Metadatenspeicher. Der CUSTOM_FIELD_DEFINITION-Parameter für diese Methode ermöglicht das Erstellen eines Satzes benutzerdefinierter Felder. Diese Felder können verwendet werden, um zusätzliche Metadaten für Elemente im Metadatenspeicher zu speichern. Mit dem CUSTOM_FIELDS_INDEX-Parameter können Feldsätze als Indizes definiert werden. Diese Indizes können verwendet werden, um im Metadatenspeicher effizient nach Elementen zu suchen.
Kapseln von Metadaten für Replikate
Die IReplicaMetadata-Schnittstelle kapselt alle Metadaten für ein bestimmtes Replikat. Der Zugriff auf Replikatmetadaten kann beispielsweise mithilfe der IReplicaMetadata::GetKnowledge- und der IReplicaMetadata::GetReplicaId-Methode erfolgen.
Mehrere Methoden in dieser Schnittstelle erleichtern das Implementieren von Synchronisierungsanbietermethoden, z. B. die folgenden Methoden:
IReplicaMetadata::GetChangeBatch. Diese Methode kann den Großteil der Aktionen für die IKnowledgeSyncProvider::GetChangeBatch-Methode ausführen.
IReplicaMetadata::GetItemBatchVersions. Diese Methode kann von der IKnowledgeSyncProvider::ProcessChangeBatch-Methode aufgerufen werden, um lokale Versionen von Änderungsbatchelementen zu suchen. Die lokalen Versionen werden vom Änderungsanwender benötigt.
IReplicaMetadata enthält auch den Dienst zum Verfolgen von Löschungen. Ein Anbieter kann z. B. die IReplicaMetadata::GetUnreportedItems-Methode verwenden, um zu ermitteln, welche Elemente aus dem Elementspeicher gelöscht wurden und im Metadatenspeicher als gelöscht markiert werden sollen.
Kapseln von Metadaten für Elemente
Elementmetadaten können im Metadatenspeicher gesucht werden, indem mithilfe von IReplicaMetadata-Methoden, z. B. IReplicaMetadata::FindItemMetadataByGlobalId oder IReplicaMetadata::FindItemMetadataByIndexedFields, eine Suche nach Element-ID oder indizierten Feldern durchgeführt wird. Die IItemMetadata-Schnittstelle-Klasse kapselt alle Metadaten für ein bestimmtes Element. Der Zugriff auf diese Metadaten kann dann beispielsweise mit den Methoden IItemMetadata::GetChangeVersion, IItemMetadata::GetCreationVersion, IItemMetadata::GetGlobalId und IItemMetadata::GetIsDeleted erfolgen. Diese Klasse enthält verschiedene Methoden, die für den Zugriff auf alle beim Initialisieren der Replikatmetadaten benutzerdefinierten Felder verwendet werden können.
Fehlercodes
Der Metadatenspeicherdienst verwendet zum Melden von Problemen einen Satz benutzerdefinierter Fehler. Weitere Informationen finden Sie unter Metadatenspeicher-Fehlercodes.
Siehe auch
Verweis
Microsoft.Synchronization.MetadataStorage