Microsoft.Synchronization.MetadataStorage Espacio de nombres
Metadata Storage Service proporciona compatibilidad para almacenar y controlar metadatos de sincronización.
Metadata Storage Service define muchas de sus clases como abstractas de modo que permiten a los desarrolladores de servicios de almacenamiento implementar un conjunto personalizado de clases para almacenar metadatos en cualquier tipo de almacén de datos.
Metadata Storage Service también proporciona una implementación de las clases que usan una base de datos ligera para almacenar metadatos de sincronización en un archivo de base de datos único en un sistema de archivos.
Inicializar los metadatos
La clase principal para todos los almacenes de metadatos es MetadataStore. Esta clase base abstracta contiene métodos para inicializar y obtener metadatos de réplica en el almacén de metadatos, e iniciar y detener transacciones en la base de datos. Las clases que invalidan esta clase base probablemente proporcionarán métodos para crear y abrir almacenes de metadatos, como SqlMetadataStore. Esta clase contiene métodos para crear y abrir un almacén de metadatos.
Los metadatos de réplica se inicializan en el almacén de metadatos mediante InitializeReplicaMetadata. El parámetro FieldSchema de este método permite crear un conjunto de campos personalizados. Estos campos se pueden usar para almacenar metadatos adicionales para los elementos del almacén de metadatos. El parámetro IndexSchema permite definir conjuntos de campos como índices. Éstos se pueden usar para localizar eficazmente elementos en el almacén de metadatos.
Encapsular metadatos para las réplicas
La clase ReplicaMetadata encapsula todos los metadatos para una réplica concreta. Se puede tener acceso a los metadatos de réplica mediante el uso de miembros como GetKnowledge y ReplicaId.
Varios métodos de esta clase ayudan a implementar los métodos de proveedor de sincronización, por ejemplo: ReplicaMetadata..::..GetChangeBatch puede realizar la mayor parte del trabajo para el método GetChangeBatch de KnowledgeSyncProvider.
Se puede llamar a GetLocalVersions desde el método ProcessChangeBatch de KnowledgeSyncProvider para encontrar versiones locales de los elementos del lote de cambios, que son necesarias para el aplicador de cambios.
ReplicaMetadata también contiene DeleteDetector. Un proveedor puede usar el objeto contenido en esta propiedad para detectar qué elementos se han eliminado del almacén de elementos y deberían marcarse como eliminados en el almacén de metadatos.
Encapsular metadatos para los elementos
Los metadatos del elemento se pueden encontrar en el almacén de metadatos usando los métodos de ReplicaMetadata para buscar por identificador de elemento o por campos indizados, como FindItemMetadataById o FindItemMetadataByIndexedFields. La clase ItemMetadata encapsula todos los metadatos para un elemento determinado. Esta clase contiene metadatos de sincronización estándar, como ChangeVersion, CreationVersion, GlobalId y IsDeleted. Esta clase también contiene varios métodos que se pueden usar para tener acceso a los campos personalizados que se definieron cuando se inicializaron los metadatos de la réplica.
Clases
Clase | Descripción | |
---|---|---|
ChangeUnitMetadata | Representa los metadatos asociados a una unidad de cambio contenida en un elemento en el ámbito de sincronización. | |
DeleteDetector | Cuando se implementa mediante una clase derivada, DeleteDetector determina qué elementos se eliminaron de una réplica. Estos elementos se deben marcar como eliminados en el almacén de metadatos. | |
ExplicitTransactionRequiredException | Excepción que se produce cuando se llama a un método que requiere que se haya iniciado una transacción explícita en el almacén de metadatos. | |
FieldSchema | Contiene información de esquema que define un campo personalizado de un elemento del almacén de metadatos. | |
IndexSchema | Representa un índice de una o varias columnas que puede utilizarse para buscar más eficazmente elementos que están en el almacén de metadatos. | |
ItemMetadata | Cuando se invalida, representa los metadatos asociados a un elemento en el ámbito de sincronización. | |
ItemMetadataNotFoundException | Excepción que se produce cuando no se puede encontrar en el almacén de metadatos un elemento que tiene el identificador o el valor del campo personalizado especificado. | |
KeyUniquenessException | Excepción que se produce cuando se intenta guardar un elemento que tiene un identificador no válido o duplicado. | |
MetadataFieldNotFoundException | Excepción que se produce cuando no existe el campo personalizado especificado. | |
MetadataStorageEngineException | Excepción que se produce cuando se genera un error en un operación en el motor de almacenamiento de metadatos. | |
MetadataStore | Cuando se invalida, representa un almacén de metadatos y proporciona métodos para obtener un objeto de metadatos de réplica. El objeto de metadatos de réplica se usa para tener acceso a los metadatos de una réplica concreta. Ésta es la clase base abstracta para todos los almacenes de metadatos que usan la API de Metadata Storage Service. | |
MetadataStoreException | La clase base para todas las excepciones de almacenamiento de metadatos. | |
MetadataStoreInvalidOperationException | Excepción que se produce cuando la llamada a un método no es válida para el estado actual del objeto. | |
MetadataStoreProviderVersionMismatchException | Excepción que se produce cuando se llama a DeserializeReplicaMetadata y la versión de compatibilidad de proveedor esperada que se ha especificado no coincide con la versión de proveedor almacenada en los metadatos serializados. | |
MultipleReplicasInStoreException | Excepción que se produce cuando se llama a GetSingleReplicaMetadata y el almacén de metadatos contiene metadatos para más de una réplica. | |
ReplicaMetadata | Cuando se invalida, proporciona acceso a los metadatos de réplica y los metadatos del elemento en el almacén de metadatos. ReplicaMetadata también proporciona servicios para detección de elementos eliminados y aplicaciones auxiliares para implementar métodos de proveedores de sincronización. | |
ReplicaMetadataAlreadyExistsException | Excepción que se produce cuando se realiza un intento de crear nuevos metadatos de réplica en un almacén de metadatos pero ya existen metadatos para esa réplica en el almacén de metadatos. | |
ReplicaMetadataInUseException | Excepción que se produce cuando se intenta crear más de una instancia activa de ReplicaMetadata para un identificador de réplica determinado. | |
ReplicaMetadataNotFoundException | Excepción que se produce cuando no existen metadatos de réplica en el almacén de metadatos para el identificador de réplica especificado. | |
SqlMetadataStore | Representa un almacén de metadatos que se implementa usando una base de datos ligera para almacenar los metadatos. | |
SqlSyncFieldValue | Representa el valor de un campo personalizado de un elemento. | |
SqlSyncMetadataStoreSerializer | Serializa y deserializa los metadatos para una réplica entre un formato de archivo de metadatos canónico y los formatos de almacenamiento de Metadata Storage Service específicos de la versión. | |
SyncFieldValue | Cuando se invalida en una clase derivada, representa el valor de un campo personalizado de un elemento. | |
SyncMetadataStoreSerializer | Cuando lo invalida una clase derivada, serializa y deserializa metadatos para una réplica. | |
UpgradeStartEventArgs | Proporciona datos para el evento MetadataStoreUpgradeStart. | |
VersionNotSupportedException | Excepción que se produce cuando se intenta obtener metadatos de réplica de un almacén de metadatos, pero la implementación del almacén de metadatos no admite la versión de los metadatos. |
Interfaces
Interfaz | Descripción | |
---|---|---|
IProviderUpgradeCallback | Cuando lo implementa una clase derivada, representa métodos a los que puede llamar Sync Framework para informar a un proveedor sobre los eventos que se producen durante una actualización del almacén de metadatos que se inicia porque la versión del proveedor ha cambiado. |
Delegados
Delegado | Descripción | |
---|---|---|
ReplicaMetadata. . :: . .ItemFilterCallback | Representa el método que determinará si debería incluirse un cambio de elemento en un lote de cambios. |