在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中所提到的四种参与者类型中的代理参与者,相关内容参见链接:)