Microsoft Sync Framework与WCF的区别

4
我在下一个项目中可以选择使用WCF或Microsoft Sync Framework。这将是一个需要将SQL Server后端同步到移动(.net cf)前端的项目。
我遇到了一些问题: 1. 两个数据库之间的数据库模式不同。 2. 在服务器端,我实际上需要调用一个.net dll来进行更新。 3. 我们希望对服务器数据库进行最少更改。它已经在生产中,我们不想弄乱它。
我知道我可以使用WCF在两个端点之间进行同步,但Sync Framework在这里真的会给我带来什么好处吗?

我即将开始类似于您上面描述的旅程。我想知道您在项目中使用了哪些技术/技巧,以及您的项目进展如何?和您一样,我需要在Sql Server和Windows Mobile设备之间同步数据,在服务器端,任何选择/插入/更新/删除都需要通过dll执行,而不是直接访问数据库。最后,当同步时,您的应用程序表现如何?通常需要多长时间进行同步,涉及多少数据?如果您能回答其中任何一个问题,那就太好了。 - ETFairfax
@ETFairfax:同步时间取决于当时的带宽,可能需要几秒钟到几分钟。:( 自从发布这个问题以来,我的攻击计划已经发生了很大变化(我选择了WCF),现在我创建一个基于REST的ASP.Net MVC Web接口。MVC基础Web服务更容易处理,而且我注意到两者之间没有性能差异。我在配置WCF方面也遇到了很多麻烦,但是在MVC中没有。 - Chris Brandsma
1个回答

4
您是否允许在移动设备和服务器上进行更改?如果是,如果用户A在移动设备上和用户B在服务器上更改了相同的数据记录,您将如何处理冲突?
Sync Framework和WCF之间的主要区别在于,Sync Framework被构建用于检测此类冲突并提供处理它们的例程,而WCF则没有。
话虽如此,您说“在服务器端,我实际上需要调用.net dll来执行更新”。如果您的意思是这必须是您的公司已经拥有或正在开发的特定DLL,则似乎排除了允许Sync Framework直接更新SQL Server。当您使用Sync Framework时,它会直接与服务器和移动设备上的数据库通信。

该dll已经创建并使用了一段时间。因此,公司不愿意更改它。虽然同步框架可以检测到更改,但是它是通过墓碑表和SQL Server更改跟踪来实现的。我正在通过LastUpdateDate和Tombstone表跟踪更改。除此之外,只有一个表需要双向同步。其他所有内容都是单向的。 - Chris Brandsma

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接