Compartir a través de


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.

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
Clase pública ChangeUnitMetadata Representa los metadatos asociados a una unidad de cambio contenida en un elemento en el ámbito de sincronización.
Clase pública 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.
Clase pública 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.
Clase pública FieldSchema Contiene información de esquema que define un campo personalizado de un elemento del almacén de metadatos.
Clase pública 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.
Clase pública ItemMetadata Cuando se invalida, representa los metadatos asociados a un elemento en el ámbito de sincronización.
Clase pública 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.
Clase pública KeyUniquenessException Excepción que se produce cuando se intenta guardar un elemento que tiene un identificador no válido o duplicado.
Clase pública MetadataFieldNotFoundException Excepción que se produce cuando no existe el campo personalizado especificado.
Clase pública MetadataStorageEngineException Excepción que se produce cuando se genera un error en un operación en el motor de almacenamiento de metadatos.
Clase pública 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.
Clase pública MetadataStoreException La clase base para todas las excepciones de almacenamiento de metadatos.
Clase pública MetadataStoreInvalidOperationException Excepción que se produce cuando la llamada a un método no es válida para el estado actual del objeto.
Clase pública 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.
Clase pública 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.
Clase pública 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.
Clase pública 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.
Clase pública 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.
Clase pública 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.
Clase pública SqlMetadataStore Representa un almacén de metadatos que se implementa usando una base de datos ligera para almacenar los metadatos.
Clase pública SqlSyncFieldValue Representa el valor de un campo personalizado de un elemento.
Clase pública 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.
Clase pública SyncFieldValue Cuando se invalida en una clase derivada, representa el valor de un campo personalizado de un elemento.
Clase pública SyncMetadataStoreSerializer Cuando lo invalida una clase derivada, serializa y deserializa metadatos para una réplica.
Clase pública UpgradeStartEventArgs Proporciona datos para el evento MetadataStoreUpgradeStart.
Clase pública 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
Interfaz pública 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
Delegado público ReplicaMetadata. . :: . .ItemFilterCallback Representa el método que determinará si debería incluirse un cambio de elemento en un lote de cambios.