Microsoft.Synchronization.MetadataStorage 名前空間

Metadata Storage Service は、同期メタデータの格納と処理をサポートしています。

Metadata Storage Service はそのクラスの多くを抽象クラスとして定義するので、ストレージ サービスの作成者は一連のカスタム クラスを実装して、任意の種類のデータ ストアにメタデータを格納できます。

また、Metadata Storage Service では、簡易データベースを使用して同期メタデータをファイル システム内の 1 つのデータベース ファイルに格納するクラスも実装できます。

すべてのメタデータ ストアのメイン クラスは MetadataStore です。この抽象基本クラスには、メタデータ ストア内のレプリカ メタデータを初期化して取得したり、データベースのトランザクションを開始または終了したりするためのメソッドが含まれています。通常、この基本クラスをオーバーライドするクラスからは、メタデータ ストアを作成して開くためのメソッド (SqlMetadataStore など) が提供されます。このクラスには、メタデータ ストアを作成して開くためのメソッドが含まれています。

レプリカ メタデータは、InitializeReplicaMetadata を使用することによって、メタデータ ストアで初期化されます。このメソッドに対して FieldSchema パラメーターを使用すると、一連のカスタム フィールドを作成できます。これらのフィールドを使用すると、項目に関する追加のメタデータをメタデータ ストアに格納できるようになります。IndexSchema パラメーターを使用すると、一連のフィールドをインデックスとして定義できます。インデックスは、メタデータ ストア内の項目を効率的に見つけるために使用されます。

ReplicaMetadata クラスは、特定のレプリカのメタデータをすべてカプセル化します。レプリカ メタデータには、GetKnowledgeReplicaId などのメンバーを使用してアクセスできます。

ReplicaMetadata には DeleteDetector も含まれています。プロバイダーは、このプロパティに含まれているオブジェクトを使用すると、どの項目が項目ストアから削除されており、削除マークをメタデータ ストアで付ける必要があるかを検出できます。

項目メタデータは、ReplicaMetadata メソッドを使用して、FindItemMetadataByIdFindItemMetadataByIndexedFields などの項目 ID かインデックス付きフィールドで検索するとメタデータ ストアで見つかります。ItemMetadata クラスは、特定の項目に関するすべてのメタデータをカプセル化します。このクラスには、ChangeVersionCreationVersionGlobalIdIsDeleted などの標準の同期メタデータが含まれています。また、レプリカ メタデータを初期化したときに定義されたカスタム フィールドにアクセスするための複数のメソッドも含まれています。

クラス

  クラス 説明
Public class ChangeUnitMetadata 同期スコープ内の項目に含まれている変更単位に関連付けられているメタデータを表します。
Public class DeleteDetector DeleteDetector は、派生クラスによって実装された場合、どの項目がレプリカから削除されたかを特定します。これらの項目は、メタデータ ストア内で削除済みとマークする必要があります。
Public class ExplicitTransactionRequiredException メタデータ ストアで明示的なトランザクションが開始されていることを必要とするメソッドが呼び出されたときにスローされる例外です。
Public class FieldSchema メタデータ ストア内の項目のカスタム フィールドを定義するスキーマ情報を格納します。
Public class IndexSchema メタデータ ストアにある項目の検索を効率化するために使用される単一または複数列インデックスを表します。
Public class ItemMetadata オーバーライドされると、同期スコープ内の項目に関連付けられているメタデータを表します。
Public class ItemMetadataNotFoundException 指定された ID またはカスタム フィールド値を持つ項目がメタデータ ストア内で見つからなかった場合にスローされる例外です。
Public class KeyUniquenessException 無効な ID または重複した ID を持つ項目を保存しようとしたときにスローされる例外です。
Public class MetadataFieldNotFoundException 名前付きカスタム フィールドが存在しない場合にスローされる例外です。
Public class MetadataStorageEngineException メタデータ ストレージ エンジンに対する操作に失敗するとスローされる例外です。
Public class MetadataStore オーバーライドされると、メタデータ ストアを表し、レプリカ メタデータ オブジェクトを取得するためのメソッドを提供します。レプリカ メタデータ オブジェクトは、特定のレプリカに関するメタデータにアクセスするために使用されます。Metadata Storage Service API を使用するすべてのメタデータ ストアに対応した抽象基本クラスです。
Public class MetadataStoreException すべてのメタデータ ストレージ例外の基本クラスです。
Public class MetadataStoreInvalidOperationException オブジェクトの現在の状態に対するメソッド呼び出しが無効な場合にスローされる例外です。
Public class MetadataStoreProviderVersionMismatchException DeserializeReplicaMetadata が呼び出され、指定された想定されるプロバイダー互換性バージョンがシリアル化されたメタデータに格納されているプロバイダー バージョンと一致しない場合にスローされる例外です。
Public class MultipleReplicasInStoreException GetSingleReplicaMetadata が呼び出されたときにメタデータ ストアに複数のレプリカのメタデータが格納されている場合にスローされる例外です。
Public class ReplicaMetadata オーバーライドされると、メタデータ ストア内のレプリカのメタデータと項目のメタデータへのアクセスを提供します。また、ReplicaMetadata は、削除検出サービスおよび同期プロバイダー メソッドを実装するためのヘルパーも提供します。
Public class ReplicaMetadataAlreadyExistsException メタデータ ストアで新しいレプリカ メタデータを作成しようとした場合に、そのレプリカのメタデータがメタデータ ストアに既に存在するとスローされる例外です。
Public class ReplicaMetadataInUseException 特定のレプリカ ID に関連した複数のアクティブな ReplicaMetadata インスタンスを作成しようとしたときにスローされる例外です。
Public class ReplicaMetadataNotFoundException 指定したレプリカ ID のレプリカ メタデータがメタデータ ストアに存在しない場合にスローされる例外です。
Public class SqlMetadataStore 簡易データベースを使用してメタデータを格納するために実装されるメタデータ ストアを表します。
Public class SqlSyncFieldValue 項目のカスタム フィールドの値を表します。
Public class SqlSyncMetadataStoreSerializer 正規のメタデータ ファイル形式とバージョン固有の Metadata Storage Service ストア形式との間で、レプリカのメタデータをシリアル化および逆シリアル化します。
Public class SyncFieldValue 派生クラスでオーバーライドされると、項目のカスタム フィールドの値を表します。
Public class SyncMetadataStoreSerializer 派生クラスでオーバーライドされると、レプリカのメタデータをシリアル化および逆シリアル化します。
Public class UpgradeStartEventArgs MetadataStoreUpgradeStart イベントのデータを提供します。
Public class VersionNotSupportedException レプリカ メタデータをメタデータ ストアから取得しようとした際、メタデータのバージョンがメタデータ ストアの実装によってサポートされていない場合にスローされる例外です。

インターフェイス

  インターフェイス 説明
Public interface IProviderUpgradeCallback 派生クラスによって実装された場合、プロバイダーのバージョンが変更されたために実行されたメタデータ ストアのアップグレード中に発生したイベントをプロバイダーに通知するために Sync Framework が呼び出すことができるメソッドを表します。

デリゲート

  デリゲート 説明
Public delegate ReplicaMetadata.ItemFilterCallback 項目の変更を変更バッチに含めるかどうかを決定するメソッドを表します。