Silverlight同步

时间:2009-06-19 16:15:03

标签: c# silverlight synchronization

我正在开发一个silverlight应用程序,我需要在可以脱机的不同silverlight实例中同步列表。我将在线服务器同步它们。

所以我们可以想象这个:

  

pc1:A1 A2 A3

     

pc2:A1 A2(A3删除)

     

服务器:A1 A2 A3(删除A3以反映   pc2然后更新pc1也删除)

它也必须反映物品的重新排序。我想在线和离线(在浏览器之外)使用Silverlight。

你们有没有解决过类似这个的问题?有什么好方法呢?

谢谢你, 阿图尔

1 个答案:

答案 0 :(得分:2)

在正常的断开连接的环境中,你会使用像Synchronization Services这样的东西来处理这个问题,但这对Silverlight客户端来说有点重要。

我首先给列表中的每个项目一个GUID。然后,我将在每个客户端和服务器上维护列表的插入,更新和删除日志。然后,每次客户端连接到服务器时,您都必须进行合并同步。在这种情况下,您必须检测并处理冲突:

  • 有人编辑某个项目,而其他人删除该项目
  • 两个客户同时编辑项目

您处理物品重新排序的要求增加了一些复杂性。您可能希望将重新排序记录为“在项目x之前移动”或“在项目x之后移动”操作,而不是更新列表中所有项目的所有索引。