分离的智能客户端同步

时间:2010-02-27 23:49:27

标签: c# .net synchronization microsoft-sync-framework

我正在处理一个应用程序,该应用程序最初将安装在具有轻量级数据库的客户端计算机上(可能是SqlLite)。

过了一段时间我想添加同一软件的网页版本,然后智能客户端就可以与在线版本同步。

有没有人做过类似的事情,我想知道:

  1. 同步的最佳方式是什么,周围是否有模式?
  2. 是否有任何框架可以处理同步?
  3. 从一开始我是否应该注意到任何问题(可能是安全并发)?
  4. 建筑师的最佳方法是什么?
  5. Thansk提前......

1 个答案:

答案 0 :(得分:1)

因此,Microsofts Sync Framework将对此有所帮助。 Introduction

一开始就出现了一些问题。

如果您要先在客户端上存储数据,然后在稍后同步到服务器,则需要考虑当许多客户端都同步到服务器时会发生什么,尤其是。解决冲突。

在发生冲突时,服务器端会发生一些事件,但您需要确定谁赢了。 (一个在服务器上,一个来自传入的客户端)。根据您选择在此处执行的操作,第二次同步可能会修改客户端数据。

仔细考虑要同步的内容。如果它是一个contacvts数据库,它是否足以让客户名称和电话号码同步,或者您是否还需要整个联系历史记录?

考虑同步一个表,使用键所有相同值的行。即使这是一个带触发器的构造表等。这使得框架同步一个更简单的过程,并且不容易出错(表需要以不同的顺序同步)。

如果是发票计划,可能只需要上传订单表,所有相关的发票,历史记录,报表等都在服务器上更新,而不是在客户端更新它们并同步多个表...