Sync Framework Metadata Storage Service 元件
中繼資料儲存服務支援儲存與處理同步處理中繼資料。
中繼資料儲存服務 API
中繼資料儲存服務 API 是由下列元素組成:
使用中繼資料儲存服務
中繼資料儲存服務是指一組儲存服務寫入器可用於實作一組自訂類別的介面,以將中繼資料儲存在任何種類的資料存放區中。中繼資料儲存服務也會提供使用輕量型資料庫之介面的實作,以便將同步處理中繼資料儲存在檔案系統中的單一資料庫檔案中。
初始化中繼資料
所有中繼資料存放區的主要介面都是 ISyncMetadataStore。此介面包含一些方法,可初始化並取得中繼資料存放區內的複寫中繼資料,以及啟動和停止資料庫上的交易。繼承自此介面的介面 (例如 ISqlSyncMetadataStore) 可能會提供用來建立和開啟中繼資料存放區的方法。
ISyncMetadataStore::InitializeReplicaMetadata 會初始化中繼資料存放區內的複寫中繼資料。這個方法的 CUSTOM_FIELD_DEFINITION 參數可以建立一組自訂欄位。使用這些欄位可以將項目的其他中繼資料存放在中繼資料存放區內。CUSTOM_FIELDS_INDEX 參數可將欄位集合定義成索引。使用這些索引可以更有效率地尋找中繼資料存放區內的項目。
封裝複寫的中繼資料
IReplicaMetadata 介面會封裝特定複寫的所有中繼資料。您可以使用 IReplicaMetadata::GetKnowledge 和 IReplicaMetadata::GetReplicaId 等方法來存取複寫中繼資料。
此介面中有幾個方法可協助實作例如下列的同步處理提供者方法:
IReplicaMetadata::GetChangeBatch. 這個方法可以執行 IKnowledgeSyncProvider::GetChangeBatch 方法的大部分工作。
IReplicaMetadata::GetItemBatchVersions. 這個方法可以從 IKnowledgeSyncProvider::ProcessChangeBatch 方法呼叫,用來尋找變更批次項目的本機版本。變更套用者將會用到這些本機版本。
IReplicaMetadata 也包含刪除偵測服務。提供者可以使用 IReplicaMetadata::GetUnreportedItems 之類的方法,偵測哪些項目已經從項目存放區刪除,而且應該在中繼資料存放區內標記為已刪除。
封裝項目的中繼資料
使用 IReplicaMetadata 方法依項目識別碼或索引欄位搜尋 (例如 IReplicaMetadata::FindItemMetadataByGlobalId 或 IReplicaMetadata::FindItemMetadataByIndexedFields) 就可以在中繼資料存放區內找到項目中繼資料。IItemMetadata 介面 類別會封裝特定項目的所有中繼資料。使用 IItemMetadata::GetChangeVersion、IItemMetadata::GetCreationVersion、IItemMetadata::GetGlobalId 和 IItemMetadata::GetIsDeleted 等方法就可以存取此中繼資料。這個類別也包含幾個方法,可以用來存取之前初始化複寫中繼資料時所定義的任何自訂欄位。
錯誤碼
中繼資料儲存服務會使用一組自訂錯誤碼來報告各種問題。如需詳細資訊,請參閱中繼資料存放區錯誤碼。
請參閱
參考
Microsoft.Synchronization.MetadataStorage