在MSF中,提供了用於存取維護元數據的一些相應工具類,即Metadata Storage Service。它可幫助存儲提供程序的同步元數據,該提供程序表示無法通過其他方式存儲元數據的副本。Metadata Storage Service 使用占用較小內存和磁盤空間的輕型數據庫,可以隨提供程序重新分發,並且安全可靠。
其所提供的API 將元數據存儲區與用於訪問元數據存儲區的接口和方法明確區分開,這樣即可實現備用存儲區,且對提供程序稍作變更即可使用備用存儲區。
當然上面是SDK中的一些說法:)
Metadata Storage Service API中有一些類要著重說明一下:
SqlMetadataStore類表示通過使用輕型數據庫存儲元數據來實現的元數據存儲區。MetadataStorageService提供了MetadataStorageServiceAPI的一個完整的實現,該實現使用輕型數據庫在文件系統指定位置的一個數據庫文件中存儲同步所需的所有元數據。此實現的入口點是SqlMetadataStore。
ReplicaMetadata類提供對元數據存儲區中的副本元數據和項元數據的訪問。ReplicaMetadata還對刪除檢測和用於實現同步提供程序方法的幫助器提供服務。
這兩個類是今天DEMO的主角,裡面的大部分方面都在源碼中的MySimpleSyncProvider.cs加以實現。
今天的這個例子,主要是演示了如何使用wcf來同步遠程的元數據。當然這個例子是MSF小組公布的一些DEMO中的一個。通過它我們就可以大概了解一下如何使用etadata Storage Service進行維護操作同步元數據以及使用WCF來同步這些修改變更的原數據信息。
首先要說明的是,當前的同步方式是MSF中所提到的四種參與者類型中的代理參與者,相關內容參見鏈接:)