Espace de noms Microsoft.Synchronization.MetadataStorage
Le service de stockage des métadonnées prend en charge le stockage et la gestion des métadonnées de synchronisation.
Le service de stockage des métadonnées définit bon nombre de ces classes comme abstraites afin que les enregistreurs du service de stockage puissent implémenter un jeu personnalisé de classes pour stocker les métadonnées dans tout type de magasin des données.
Le service de stockage des métadonnées fournit également une implémentation des classes qui utilisent une base de données légère pour stocker les métadonnées de synchronisation dans un fichier de base de données unique dans un système de fichiers.
La principale classe pour tous les magasins de métadonnées est MetadataStore. Cette classe de base abstraite contient des méthodes pour initialiser et obtenir des métadonnées de réplica dans le magasin des métadonnées, ainsi que pour démarrer et arrêter des transactions sur la base de données. Classe de substitution de cette classe de base qui est susceptible de fournir des méthodes pour créer et ouvrir des magasins de métadonnées, tels que SqlMetadataStore. Cette classe contient des méthodes permettant de créer et d'ouvrir un magasin des métadonnées.
Les métadonnées de réplica sont initialisés dans le magasin des métadonnées en utilisant InitializeReplicaMetadata. Le paramètre FieldSchema à cette méthode autorise la création d'un jeu de champs personnalisés. Ces champs peuvent être utilisés pour stocker des métadonnées supplémentaires pour les éléments figurant dans le magasin des métadonnées. Le paramètre IndexSchema permet de définir des jeux de champs en tant qu'index. Ceux-ci peuvent être utilisés pour localiser efficacement des éléments dans le magasin des métadonnées.
La classe ReplicaMetadata encapsule toutes les métadonnées d'un réplica en particulier. Les métadonnées de réplica sont accessibles en utilisant des membres comme GetKnowledge et ReplicaId :
Plusieurs méthodes dans cette classe contribuent à implémenter les méthodes de fournisseur de synchronisation, notamment la suivante : ReplicaMetadata.GetChangeBatch peut effectuer la majorité du travail pour la méthode GetChangeBatch de KnowledgeSyncProvider.
GetLocalVersions peut être appelée depuis la méthode ProcessChangeBatch de KnowledgeSyncProvider pour rechercher les versions locales des éléments de lot de modifications, qui sont requises par l'applicateur de modifications.
ReplicaMetadata contient aussi DeleteDetector. Un fournisseur peut utiliser l'objet contenu dans cette propriété pour détecter les éléments qui ont été supprimés du magasin d'éléments et qui doivent être marqués comme étant supprimés dans le magasin des métadonnées.
Les métadonnées d'élément peuvent être trouvées dans le magasin des métadonnées en utilisant des méthodes ReplicaMetadata pour effectuer des recherches en fonction d'ID d'élément ou de champs indexés, comme FindItemMetadataById ou FindItemMetadataByIndexedFields. La classe ItemMetadata encapsule tous les métadonnées pour un élément particulier. Cette classe contient des métadonnées de synchronisation standard, par exemple ChangeVersion, CreationVersion, GlobalId et IsDeleted. Cette classe contient également plusieurs méthodes qui peuvent être utilisées pour accéder à tous les champs personnalisés définis lors de l'initialisation des métadonnées de réplica.
Classes
Classe | Description | |
---|---|---|
ChangeUnitMetadata | Représente les métadonnées associées à une unité de modification contenue dans un élément dans l'étendue de synchronisation. | |
DeleteDetector | En cas d'implémentation par une classe dérivée, DeleteDetector détermine quels éléments ont été supprimés d'un réplica. Ces éléments doivent être marqués comme supprimés dans le magasin des métadonnées. | |
ExplicitTransactionRequiredException | Exception qui est levée quand une méthode appelée requiert le démarrage d'une transaction explicite sur le magasin des métadonnées. | |
FieldSchema | Contient des informations de schéma qui définissent un champ personnalisé d'un élément dans le magasin des métadonnées. | |
IndexSchema | Représente un index à colonne unique ou un index multicolonne qui peut être utilisé pour rechercher plus efficacement des éléments qui sont dans le magasin des métadonnées. | |
ItemMetadata | En cas de substitution, représente les métadonnées associées à un élément dans l'étendue de synchronisation. | |
ItemMetadataNotFoundException | L'exception levée quand un élément qui a l'ID spécifié ou la valeur de champ personnalisé n'est pas trouvé pas dans le magasin des métadonnées. | |
KeyUniquenessException | L'exception levée lorsqu'une tentative est effectuée pour enregistrer un élément qui a un ID non valide ou en double. | |
MetadataFieldNotFoundException | L'exception levée lorsque le champ personnalisé nommé n'existe pas. | |
MetadataStorageEngineException | Exception qui est levée lorsqu'une opération sur le moteur de stockage des métadonnées échoue. | |
MetadataStore | En cas de substitution, représente un magasin des métadonnées et fournit des méthodes pour obtenir un objet de métadonnées du réplica. L'objet de métadonnées du réplica est utilisé pour accéder aux métadonnées pour un réplica spécifique. Il s'agit de la classe de base abstraite pour tous les magasins des métadonnées qui utilisent l'API du service de stockage des métadonnées. | |
MetadataStoreException | La classe de base pour toutes les exceptions du stockage des métadonnées. | |
MetadataStoreInvalidOperationException | Exception qui est levée lorsqu'un appel de méthode n'est pas valide pour l'état actuel de l'objet. | |
MetadataStoreProviderVersionMismatchException | L'exception est levée lorsque DeserializeReplicaMetadata est appelé et que la version de compatibilité du fournisseur attendu spécifiée ne correspond pas à la version de fournisseur stockée dans les métadonnées sérialisées. | |
MultipleReplicasInStoreException | Exception levée lorsque GetSingleReplicaMetadata est appelé et que le magasin des métadonnées contient des métadonnées pour plusieurs réplicas. | |
ReplicaMetadata | En cas de substitution, fournit l'accès aux métadonnées de réplica et métadonnées d'élément dans le magasin des métadonnées. ReplicaMetadata fournit également des services pour la détection de suppressions et des applications d'assistance pour implémenter des méthodes de fournisseur de synchronisation. | |
ReplicaMetadataAlreadyExistsException | L'exception levée lorsqu'une tentative est effectuée pour créer de nouvelles métadonnées de réplica dans un magasin des métadonnées quand les métadonnées pour ce réplica existent déjà dans le magasin des métadonnées. | |
ReplicaMetadataInUseException | L'exception levée lorsqu'une tentative est effectuée pour créer plusieurs instances ReplicaMetadata actives pour un ID de réplica particulier. | |
ReplicaMetadataNotFoundException | L'exception levée quand il n'existe pas de métadonnées de réplica dans le magasin des métadonnées pour l'ID de réplica spécifié. | |
SqlMetadataStore | Représente un magasin des métadonnées qui est implémenté à l'aide d'une base de données légère pour stocker les métadonnées. | |
SqlSyncFieldValue | Représente la valeur d'un champ personnalisé d'un élément. | |
SqlSyncMetadataStoreSerializer | Sérialise et désérialise les métadonnées d'un réplica entre un format de fichier de métadonnées canonique et les formats du magasin du service de stockage des métadonnées spécifiques à la version. | |
SyncFieldValue | En cas de substitution dans une classe dérivée, représente la valeur d'un champ personnalisé d'un élément. | |
SyncMetadataStoreSerializer | En cas de substitution par une classe dérivée, sérialise et désérialise les métadonnées d'un réplica. | |
UpgradeStartEventArgs | Fournit des données pour l'événement MetadataStoreUpgradeStart. | |
VersionNotSupportedException | L'exception levée lorsqu'une tentative est effectuée pour obtenir les métadonnées de réplica d'un magasin des métadonnées, alors que la version des métadonnées n'est pas prise en charge par l'implémentation du magasin des métadonnées. |
Interfaces
Interface | Description | |
---|---|---|
IProviderUpgradeCallback | En cas d'implémentation par une classe dérivée, représente les méthodes que Sync Framework peut appeler pour notifier un fournisseur à propos des événements qui se produisent pendant une mise à niveau du magasin des métadonnées lancée suite à un changement de version de fournisseur. |
Délégués
Délégué | Description | |
---|---|---|
ReplicaMetadata.ItemFilterCallback | Représente la méthode qui déterminera si une modification d'élément doit être incluse dans un lot de modifications. |