微软同步框架(MSF)入门之八--使用WCF同步远程元数据(一)

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

时间: 2025-01-21 01:35:58

微软同步框架(MSF)入门之八--使用WCF同步远程元数据(一)的相关文章

微软同步框架(MSF)入门之八--使用WCF同步远程元数据(二)

到这里服务端的代码就全部列举出来了.当然本文中介绍的是元数据同步,而相应的SyncProvider实现是通过MySimpleSyncProvider.cs文件提供的,当然为了不让我的某些错误理解影响大家阅读源码,这里直接将相应的英文注释也放在这里. public class MySyncProvider : KnowledgeSyncProvider, IChangeDataRetriever, INotifyingChangeApplierTarget { // The name of the

微软同步框架(MSF)入门之五--使用WCF同步远程数据

在之前介绍的两个DEMO中,链接远程服务器所使用的方式都是通过数据库链接串.虽然可以简单的实现所期望的数据同步功能,但这样做有两个问题: 1.不适合进行分布式布署. 2.安全方面存在问题,因为在客户端会持有远程数据库服务器的链接帐号. 因为这两个问题,导致了今天所要说的内容.当然在MSF中是支持采用WCF方式来进行远程数据访问的,而且WCF不仅可以用于数据同步,还可以进行文件同步(会在后续章节中进行介绍). 好了,费话少说,开始今天的正文吧. 下面简要介绍一下今天DEMO的一个具体开发流程. 首

微软同步框架(MSF)入门之六--文件(夹)同步

在前五篇文章当中,介绍了Sync For ADO.NET Service,从这篇文章开始,将开始介绍有关使用MSF进行文件(夹)同步的相关知识.因为文件同步的应用目前比较广泛,所以可能够要用3-4篇文章来进行介绍.今天先介绍一下有关MSF文件同步的原理和使用MSF中现有的类来实现一个简单的DEMO(本DEMO支持文件和文件夹)同步. 好的,下面开始今天的正文. SyncServices可帮助应用程序在NTFS.FAT或SMB文件系统中同步文件.文件夹和子文件夹.要同步的目录可为本地或远程目录,且

微软同步框架(MSF)入门之三--分析生成的同步类文件

在前两篇文章当中,我介绍了SnapShot(快照方式)和"只同步新更改和增量更改"这两种同步方式.将使用设计器同步向导生成了两个相应的DEMO.今天我们会一起分析一下这两个DEMO中相应的同步文件内容和相互差异. 首先要分析的DEMO是"只同步新更改和增量更改",我们用VS2008打开DEMO的解决方案方案,如下图: 之前所说的关于MSF为我们生成的主要的类代码就保存在了BiDirectSyncData.sync文件中,下面先分析一下BiDirectSyncData

微软同步框架(MSF)入门之四--冲突(Conflict)检测和处理

在几篇文章当中,我介绍了 SnapShot(快照方式)和"只同步新更改和增量更改"这两种同步方式并对相应的生成文件进行了粗略的分析.今天开始把话题深入一下,聊一聊MSF的冲突检测和处理. 这里所说的冲突(Conflict) 主要是指当客户端与服务端数据在进行CUD时,所操作的数据同步期间发生了错误,如通常所说的约束冲突(主键重复),以及在同步时多个节点(客户端)上更改了同一行,或服务端删除该行而其它节点却更新了该行便存在冲突等.当然在设计应用程序时应避免产生冲突(比如可通过筛选行和列等

微软同步框架(MSF)入门开篇(附SnapShot快照Demo)

在Teched2008上听了一节关于MSF(Microsoft Sync Framework 微软同步框架),这一框架允许开发者创建离线式的应用.设备和服务,可以与任何应用的任意类型数据进行集成. 有关这个模架的介绍在网上有一些链接,而园子里也有朋友做过这方面的介绍.当时东西好不好,只有用过才会知道.今天这篇文章就是简单试用一把MSF来开发ADO.NET同步的DEMO(当然其也支持文件和文件夹的同步,我会在以后写文介绍研究心得).因为是初次使用,所以截图多了一些,当然在概念理解上也可能有偏差,有

微软同步框架(MSF)入门之二--增量和修改同步方式

在上一篇文章当中,我通过创建一个SnapShot(快照方式)DEMO演示MSF是如何将远程数据服务器中的数据同步到本地 SQLCE数据库中的.今天这篇文章演示如何使用同步操作向导创建另外一种方式,即"只同步新更改和增量更改"方式.当前这种方式比之前一种"快照方式"要更加便捷,而且因为快照方式是采用整表同步,因此不管是数据是否被修改过,都是把所有数据下载到本地,而今天演示的这种方式是只同步修改或新添加的数据,可以说是一种经济实惠的解决方案. 当然,这里并不是说&quo

微软同步框架(MSF)入门之七--定制同步提供程序(SyncProvider)

在上一篇文章当中,简要介绍了一下如何使用现有的 SyncProvider 对象来进行文件(夹)同步.今天的这个DEMO主要演示通过继承方式来实现自己的SyncProvider来进行相关同步元数据存储,当然这样做会给我们以额外的好处,比如按自己的意愿来创建.版本和删除项的信息等.另外就是对同步应用程序的工作原理也会有一个大概的认识. 在开始正文之前,我在网上看到了这篇文章对MSF的负责报道,当然它所说的部分观点我同意.MSF的确不那么好学,官方的文档的确也难懂,但事情总要慢慢来,只有通过不断积累不

OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据

OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据 我们这片博文就来聊聊这个反响很不错的OkHttp了,标题是我恶搞的,本篇将着重详细的分析,探索OkHttp这个框架的使用和封装 一.追其原理 Android系统提供了两种HTTP通信类 HttpURLConnection HttpClient Google推荐使用HttpURLConnection,这个没必要多说,事实上,我这篇写的应该算是比较晚了,很多优秀的博文都已经提出了这些观