跨多个服务器(机器)同步xml文件

时间:2014-02-27 11:07:08

标签: c# xml share synchronized

在我们的应用程序中有多个客户端应用程序。

在单独的服务器(机器)上设置一个客户端应用程序。

有一个名为reconciliation的模块,此模块的首选项(设置)保存在每个服务器的硬盘上的xml文件中。

我的要求是我想将一台服务器的首选项共享给另一台服务器,仅供查看。 即服务器A上的用户u1可以查看服务器B的首选项,但不能编辑这些首选项。

主要的是首选项应该与服务器实时同步。 即服务器A上的用户u1正在查看首选项,此时服务器B上的用户更改首选项,然后应在服务器A上为所有用户更新首选项。

1 个答案:

答案 0 :(得分:1)

您可以使用每个应用程序正在侦听的某种发布/订阅系统。保存首选项后,它将发布一条消息,其中包含有关其首选项已更改的信息。每个应用程序也订阅了系统,并将收到消息,说明某些内容已更改。您可以发布首选项,并将其存储在集中的某个位置,并让每个应用程序都可以检索它们

另一种选择是将首选项存储在共享文件夹(可能是一个文件用户首选项)中,让您的应用程序观察该文件夹以进行更改。当用户文件更改时,您可以重新加载该文件。

如果您选择将首选项保存在数据库中,则需要不时轮询数据库以查看是否有任何更改。如果你使用发布/订阅系统,你可以避免轮询,但是如果不这样做,你需要考虑轮询数据库的频率以及当你考虑到你的实例数时它将如何扩展应用程序正在运行以及检查数据库的频率。