【发布时间】:2015-03-28 20:09:37
【问题描述】:
如果您在使用相同数据库的不同客户端上有一个桌面应用程序,如果一个客户端更改了数据,您如何通知其他客户端。假设您作为客户编号 1 正在查看具有不同客户的数据网格,并且客户编号 2 更新您在数据网格中查看的客户之一的名称。 1 号客户如何知道数据库的变化?我不认为解决方案是将每一秒都拉到服务器上。那么会有什么选择呢?
【问题讨论】:
-
这是一个非常复杂的应用程序设计,远高于新用户的水平。如果我们谈论的是通过 webapi 进行更新(不确定,您使用 asp.net 还指代桌面应用程序),那么您需要保持服务器和客户端之间的连接打开,例如 signalr。祝你好运。
-
广义地说,我希望客户端中的编辑通过服务器更改数据,服务器通过某种消息传递机制(例如 JMS、AMQP)广播更新通知等等。)。这将通知每个客户端执行刷新或类似操作。
-
您的问题太宽泛了,但是如果您阅读 Martin Fowlers 企业架构一书,他确实讨论了这种非常复杂的技术来解决它,并以您的应用程序为代价。我也会研究一致性。如果您的数据库是远程存储的,您可能会使用套接字来轮询连接。
标签: c# asp.net-mvc wcf