我有一个服务器应用程序,可以通过网络向多个客户端提供数据。您可以将数据想象成一个巨大的字符串列表。服务器上的数据可能会发生变化,需要在所有客户端上同步。
我目前正在使用这种方法:在初始连接时,客户端应用程序请求所有当前数据(可能有很多字节)。然后,它订阅任何数据的更新(添加、更改和删除)。
除非服务器上的数据在发送初始数据列表和应用程序订阅更改之间发生更改,否则这种方法工作正常 - 在这种情况下,客户端会错过一些更新并在不知情的情况下处理过时的数据。
我相信这是一个非常常见的场景,所以应该有一个模式可以解决这个问题。我正在使用 C# 4 和 WCF,但我认为该模式应该与语言无关。
最佳答案
你看过微软的Synchronization Framework吗?对于.Net。它使您可以更好地控制同步的内容和方式。完全支持 WCF。它支持增量更新并将更改同步回服务器。
API 相当大,不仅涵盖数据库同步,而且还有很多文章。这应该让你开始:
关于c# - 是否有通过网络同步数据列表的模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3193335/