c# - 是否有通过网络同步数据列表的模式?

标签 c# .net synchronization network-programming

我有一个服务器应用程序,可以通过网络向多个客户端提供数据。您可以将数据想象成一个巨大的字符串列表。服务器上的数据可能会发生变化,需要在所有客户端上同步。

我目前正在使用这种方法:在初始连接时,客户端应用程序请求所有当前数据(可能有很多字节)。然后,它订阅任何数据的更新(添加、更改和删除)。

除非服务器上的数据在发送初始数据列表和应用程序订阅更改之间发生更改,否则这种方法工作正常 - 在这种情况下,客户端会错过一些更新并在不知情的情况下处理过时的数据。

我相信这是一个非常常见的场景,所以应该有一个模式可以解决这个问题。我正在使用 C# 4 和 WCF,但我认为该模式应该与语言无关。

最佳答案

你看过微软的Synchronization Framework吗?对于.Net。它使您可以更好地控制同步的内容和方式。完全支持 WCF。它支持增量更新并将更改同步回服务器。

API 相当大,不仅涵盖数据库同步,而且还有很多文章。这应该让你开始:

Introduction to Sync Framework Database Synchronization

Synchronizing Databases

关于c# - 是否有通过网络同步数据列表的模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3193335/

相关文章:

c# - 从字符串列表中返回潜在字符串及其下一个字符性能

c# - 如何将带小数的数字的外国字符串表示形式转换为 double ?

java - 使用 RXTX 同步 java 串口连接

c# - 从项目目录中读取 SQL 查询文件

c# - 如何在 WPF 中的窗口之间导航?

c# - 反序列化带有未知字段的 XML - 会发生什么?

c# - 阻止 VS 将属性值放入 .Designer.cs 文件

java - 同步:ImageDownloader线程

linux - 同步两个本地目录

c# - MVP,应该在 Main() 中创建 Presenter 还是 View