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

     在该框架中,提供了用于存取维护元数据的一些相应工具类,即Metadata Storage Service。它可帮助存储提供程
的同步元数据,该提供程序表示无法通过其他方式存储元数据的副本。Metadata Storage Service 使用占用较小内
和磁盘空间的轻型数据库,可以随提供程序重新分发,并且安全可靠。

     其所提供的API  将元数据存储区与用于访问元数据存储区的接口和方法明确区分开,这样即可实现备用存储区,
对提供程序稍作变更即可使用备用存储区。

    当然上面是SDK中的一些说法:)

    Metadata Storage Service API中有一些类要着重说明一下:      

    SqlMetadataStore 类表示通过使用轻型数据库存储元数据来实现的元数据存储区。Metadata Storage Service 
            提供了 Metadata Storage Service API 的一个完整的实现,该实现使用轻型数据库在文件系统指定位
            置的一个数据库文件中存储同步所需的所有元数据。此实现的入口点是 SqlMetadataStore。

    ReplicaMetadata 类提供对元数据存储区中的副本元数据和项元数据的访问。ReplicaMetadata 还对删除检测和
           用于实现同步提供程序方法的帮助器提供服务。

           
    这两个类是今天DEMO的主角,里面的大部分方面都在源码中的MySimpleSyncProvider.cs加以实现。


    今天的这个例子,主要是演示了如何使用wcf来同步远程的元数据。当然这个例子是MSF小组公布的一些DEMO中的
一个。通过它我们就可以大概了解一下如何使用etadata Storage Service进行维护操作同步元数据以及使用WCF来同
步这些修改变更的原数据信息。

    首先要说明的是,当前的同步方式是MSF中所提到的四种参与者类型中的代理参与者,相关内容参见链接:)
    
    

    
    其中的代理程序参见如下:
    

Code


     
    当然上面RemoteProviderProxy中的一个重要属性:Sync101WebServiceClient是WCF客户端的实现代码。
当进行同步SyncProvider绑定时,会将RemoteProviderProxy绑定到RemoteProvider属性上,当然通过上面代
码,我们会发现,其实最终还是要通过Sync101WebServiceClient实例了进行远程元数据同步操作。下面是WCF
接口代码(ISync101WebService.cs):
 

Code

    
    而最终的实现类Sync101WebService:
    

Code

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

Code

    最后,我们只要用下列代码来绑定相应的类并进行同步即可(参见MyTestProgram.cs文件):

Code

 


     好了,今天的内容就到这里了,更多的内容参见这个链接:)
     
     原文链接:http://www.cnblogs.com/daizhj/archive/2008/11/25/1340735.html

     作者: daizhj, 代震军

     Tags: 微软同步框架,metadata,元数据同步,wcf

     网址: http://daizhj.cnblogs.com/

     DEMO下载,请点击这里:)
    
    
    
     最后发一些关于MSF的链接:
    
     MSDN:
http://forums.microsoft.com/sync/showforum.aspx?forumid=1225&siteid=75
               http://blogs.msdn.com/sync
               http://code.msdn.microsoft.com/sync

    
     PDC2008大会的一些视频:
     Sync Framework: Enterprise Data in the Cloud and on Devices  

     Microsoft Sync Framework Advances   
     SQL Server: Database to Data Platform - Road from Server to Devices to the Cloud 


     sync toy(微软开发的一个基于MSF的工具软件),下载链接:)    

     Sync guru:   http://www.syncguru.com/default.aspx     
     Sync Framework 核心参与者类型  
http://msdn.microsoft.com/zh-cn/library/bb902817.aspx
 
    
 
    

posted @ 2008-12-08 09:14  代震军  阅读(4342)  评论(14编辑  收藏  举报