Componenti del servizio di archiviazione dei metadati di Sync Framework
Il servizio di archiviazione dei metadati fornisce il supporto per l'archiviazione e la gestione dei metadati di sincronizzazione.
API del servizio di archiviazione dei metadati
L'API del servizio di archiviazione dei metadati è costituita dagli elementi seguenti:
Utilizzo del servizio di archiviazione dei metadati
Il servizio di archiviazione dei metadati è un set di interfacce che i writer dei servizi di archiviazione possono utilizzare per implementare un set personalizzato di classi per archiviare i metadati in qualsiasi tipo di archivio dati. Il servizio di archiviazione dei metadati fornisce inoltre un'implementazione dell'interfaccia che utilizza un database lightweight per archiviare i metadati di sincronizzazione in un singolo file di database in un file system.
Inizializzazione dei metadati
L'interfaccia principale per tutti gli archivi dei metadati è ISyncMetadataStore. Questa interfaccia contiene i metodi per inizializzare e ottenere i metadati della replica nell'archivio dei metadati e per avviare e arrestare le transazioni nel database. Le interfacce che ereditano da questa interfaccia, ad esempio ISqlSyncMetadataStore possono fornire i metodi per creare e aprire archivi dei metadati.
ISyncMetadataStore::InitializeReplicaMetadata inizializza i metadati della replica nell'archivio dei metadati. Il parametro CUSTOM_FIELD_DEFINITION di questo metodo consente la creazione di un set di campi personalizzati utilizzabili per archiviare metadati aggiuntivi per gli elementi nell'archivio dei metadati. Il parametro CUSTOM_FIELDS_INDEX consente di definire set di campi come indici utilizzabili per individuare in modo efficiente gli elementi nell'archivio dei metadati.
Incapsulamento di metadati per le repliche
L'interfaccia IReplicaMetadata incapsula tutti i metadati per una determinata replica. I metadati della replica sono accessibili tramite metodi quali IReplicaMetadata::GetKnowledge e IReplicaMetadata::GetReplicaId.
Diversi metodi di questa interfaccia agevolano l'implementazione dei metodi del provider di sincronizzazione, ad esempio:
IReplicaMetadata::GetChangeBatch. Questo metodo è in grado di eseguire la maggior parte delle operazioni per il metodo IKnowledgeSyncProvider::GetChangeBatch.
IReplicaMetadata::GetItemBatchVersions. Questo metodo può essere chiamato dal metodo IKnowledgeSyncProvider::ProcessChangeBatch per trovare le versioni locali degli elementi del batch di modifiche. Queste versioni locali sono richieste dall'oggetto di applicazione modifiche.
IReplicaMetadata contiene inoltre il servizio di rilevamento delle eliminazioni. Un provider può utilizzare metodi quali IReplicaMetadata::GetUnreportedItems per rilevare gli elementi eliminati dall'archivio di elementi che devono essere contrassegnati come eliminati nell'archivio dei metadati.
Incapsulamento di metadati per gli elementi
È possibile trovare i metadati dell'elemento nell'archivio dei metadati utilizzando i metodi IReplicaMetadata per eseguire le ricerche in base all'ID elemento o ai campi indicizzati, ad esempio IReplicaMetadata::FindItemMetadataByGlobalId o IReplicaMetadata::FindItemMetadataByIndexedFields. La classe Interfaccia IItemMetadata incapsula tutti i metadati per un determinato elemento. Questi metadati sono accessibili tramite metodi quali IItemMetadata::GetChangeVersion, IItemMetadata::GetCreationVersion, IItemMetadata::GetGlobalId e IItemMetadata::GetIsDeleted. Questa classe contiene inoltre diversi metodi utilizzabili per accedere ai campi personalizzati definiti al momento dell'inizializzazione dei metadati della replica.
Codici di errore
Il servizio di archiviazione dei metadati utilizza un set di errori personalizzati per segnalare i problemi. Per ulteriori informazioni, vedere Codici di errore dell'archiviazione dei metadati.
Vedere anche
Riferimento
Microsoft.Synchronization.MetadataStorage