Microsoft.Synchronization.MetadataStorage-Namespace

Der Metadaten-Speicherdienst stellt Unterstützung für das Speichern und Behandeln von Synchronisierungsmetadaten bereit.

Viele der Klassen des Metadaten-Speicherdiensts sind abstrakt definiert, um das Implementieren eines benutzerdefinierten Satzes von Klassen zum Speichern von Metadaten in beliebigen Datenspeichern zu ermöglichen.

Der Metadaten-Speicherdienst stellt außerdem eine Implementierung der Klassen bereit, die mit einer vereinfachten Datenbank Synchronisierungsmetadaten in einer einzelnen Datenbankdatei eines Dateisystems speichern.

Die Hauptklasse für alle Metadatenspeicher ist MetadataStore. Diese abstrakte Basisklasse enthält Methoden, um Replikatmetadaten im Metadatenspeicher zu initialisieren und abzurufen sowie Transaktionen für die Datenbank zu starten und zu beenden. Klassen, die diese Basisklasse überschreiben, bieten in der Regel Methoden zum Erstellen und Öffnen von Metadatenspeichern wie beispielsweise SqlMetadataStore. Diese Klasse enthält Methoden zum Erstellen und Öffnen eines Metadatenspeichers.

Replikatmetadaten werden mit InitializeReplicaMetadata im Metadatenspeicher initialisiert. Der FieldSchema-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 IndexSchema-Parameter können Feldsätze als Indizes definiert werden. Diese können verwendet werden, um im Metadatenspeicher effizient nach Elementen zu suchen.

Die ReplicaMetadata-Klasse kapselt alle Metadaten für ein bestimmtes Replikat. Auf Replikatmetadaten kann beispielsweise mit den Membern GetKnowledge und ReplicaId zugegriffen werden:

ReplicaMetadata enthält auch DeleteDetector. Ein Anbieter kann das in dieser Eigenschaft enthaltene Objekt verwenden, um zu ermitteln, welche Elemente aus dem Elementspeicher gelöscht wurden und im Metadatenspeicher als gelöscht markiert werden sollen.

Elementmetadaten können im Metadatenspeicher gesucht werden, indem mithilfe von ReplicaMetadata-Methoden, z. B. FindItemMetadataById oder FindItemMetadataByIndexedFields, eine Suche nach Element-ID oder indizierten Feldern durchgeführt wird. Die ItemMetadata-Klasse kapselt alle Metadaten für ein bestimmtes Element. Diese Klasse enthält Standardsynchronisierungsmetadaten, z. B. ChangeVersion, CreationVersion, GlobalId und IsDeleted. Diese Klasse enthält verschiedene Methoden, die für den Zugriff auf alle beim Initialisieren der Replikatmetadaten benutzerdefinierten Felder verwendet werden können.

Klassen

  Klasse Beschreibung
Public class ChangeUnitMetadata Stellt die Metadaten dar, die einer Änderungseinheit zugeordnet werden, die in einem Element im Synchronisierungsbereich enthalten ist.
Public class DeleteDetector Bei der Implementierung durch eine abgeleitete Klasse ermittelt DeleteDetector, welche Elemente aus einem Replikat gelöscht wurden. Diese Elemente müssen im Metadatenspeicher als gelöscht markiert werden.
Public class ExplicitTransactionRequiredException Die Ausnahme, die ausgelöst wird, wenn eine Methode aufgerufen wird, die eine explizite im Metadatenspeicher begonnene Transaktion erfordert.
Public class FieldSchema Enthält Schemainformationen, die ein benutzerdefiniertes Feld eines Elements im Metadatenspeicher definieren.
Public class IndexSchema Stellt einen einzel- oder mehrspaltigen Index dar, mit dem Elemente im Metadatenspeicher effizient gesucht werden können.
Public class ItemMetadata Stellt, wenn überschrieben, die Metadaten dar, die einem Element im Synchronisierungsbereich zugeordnet werden.
Public class ItemMetadataNotFoundException Die Ausnahme, die ausgelöst wird, wenn im Metadatenspeicher kein Element mit der angegebenen ID oder dem benutzerdefinierten Feldwert gefunden werden konnte.
Public class KeyUniquenessException Die Ausnahme, die beim Versuch ausgelöst wird, ein Element mit einer ungültigen oder doppelten ID zu speichern.
Public class MetadataFieldNotFoundException Die Ausnahme, die ausgelöst wird, wenn das benannte benutzerdefinierte Feld nicht vorhanden ist.
Public class MetadataStorageEngineException Die Ausnahme, die ausgelöst wird, wenn ein Vorgang im Metadatenspeichermodul fehlschlägt.
Public class MetadataStore Stellt, wenn überschrieben, einen Metadatenspeicher dar und Methoden bereit, um ein Replikatmetadatenobjekt abzurufen. Mit dem Replikatmetadaten-Objekt wird auf Metadaten für ein bestimmtes Replikat zugegriffen. Dies ist die abstrakte Basisklasse für alle Metadatenspeicher, die die Metadaten-Speicherdienst-API verwenden.
Public class MetadataStoreException Die Basisklasse für alle Metadatenspeicher-Ausnahmen.
Public class MetadataStoreInvalidOperationException Die Ausnahme, die ausgelöst wird, wenn ein Methodenaufruf ungültig für den aktuellen Objektstatus ist.
Public class MetadataStoreProviderVersionMismatchException Die Ausnahme, die ausgelöst wird, wenn DeserializeReplicaMetadata aufgerufen wird und die angegebene erwartete Anbieterkompatibilitätsversion nicht der in den serialisierten Metadaten gespeicherten Anbieterversion entspricht.
Public class MultipleReplicasInStoreException Die Ausnahme, die ausgelöst wird, wenn GetSingleReplicaMetadata aufgerufen wird und der Metadatenspeicher Metadaten für mehr als ein Replikat enthält.
Public class ReplicaMetadata Bietet, wenn überschrieben, Zugriff auf die Replikatmetadaten und Elementmetadaten im Metadatenspeicher. ReplicaMetadata stellt weiterhin Dienste zum Verfolgen von Löschungen und Hilfsprogramme für die Implementierung von Methoden des Synchronisierungsanbieters zur Verfügung.
Public class ReplicaMetadataAlreadyExistsException Die Ausnahme, die beim Versuch ausgelöst wird, neue Replikatmetadaten in einem Metadatenspeicher zu erstellen, wenn für dieses Replikat bereits Metadaten im Metadatenspeicher vorhanden sind.
Public class ReplicaMetadataInUseException Die Ausnahme, die beim Versuch ausgelöst wird, mehr als eine aktive ReplicaMetadata-Instanz für eine bestimmte Replikat-ID zu erstellen.
Public class ReplicaMetadataNotFoundException Die Ausnahme, die ausgelöst wird, wenn im Metadatenspeicher keine Replikatmetadaten für die angegebene Replikat-ID vorhanden sind.
Public class SqlMetadataStore Stellt einen Metadatenspeicher dar, der mit einer vereinfachten Datenbank implementiert wurde, um die Metadaten zu speichern.
Public class SqlSyncFieldValue Stellt den Wert eines benutzerdefinierten Felds eines Elements dar.
Public class SqlSyncMetadataStoreSerializer Serialisiert und deserialisiert Metadaten für ein Replikat zwischen einem kanonischen Metadatendateiformat und versionsspezifischen Metadaten-Speicherdienst-Speicherformaten.
Public class SyncFieldValue Stellt, wenn in einer abgeleiteten Klasse überschrieben, den Wert eines benutzerdefinierten Felds eines Elements dar.
Public class SyncMetadataStoreSerializer Serialisiert und deserialisiert beim Überschreiben einer abgeleiteten Klasse die Metadaten für ein Replikat.
Public class UpgradeStartEventArgs Stellt Daten für das MetadataStoreUpgradeStart-Ereignis bereit.
Public class VersionNotSupportedException Die Ausnahme, die beim Abrufen von Replikatmetadaten aus dem Metadatenspeicher ausgelöst wird, wenn die Version der Metadaten nicht von der Implementierung des Metadatenspeichers unterstützt wird.

Schnittstellen

  Schnittstelle Beschreibung
Public interface IProviderUpgradeCallback Wenn diese von einer abgeleiteten Klasse implementiert wird, stellt sie Methoden dar, die Sync Framework aufrufen kann, um einen Anbieter über Ereignisse zu benachrichtigen, die bei der Aktualisierung eines Metadatenspeichers auftreten, die aufgrund einer Änderung der Anbieterversion initiiert wurde.

Delegaten

  Delegat Beschreibung
Public delegate ReplicaMetadata.ItemFilterCallback Stellt die Methode dar, die feststellt, ob eine Elementänderung in einen Änderungsbatch eingeschlossen werden soll.