1台服务器上有多个客户端

时间:2014-01-06 09:00:24

标签: c# .net user-interface

我是GUI的新手,我在客户端 - 服务器程序中遇到了问题。

我的程序就像一个“客户支持”,多个客户端可以同时从不同的计算机上使用它。我的问题是,当一个客户端更改某些信息时,它会插入到数据库中,但另一个客户端将看不到它我为我的gui添加了一个“刷新”按钮。

我希望gui是动态的,并对不同的客户行为做出反应。你怎么能解决这个问题?

编辑: 1.net4, 2. sql-server, 3.单击按钮后发生的操作

1 个答案:

答案 0 :(得分:3)

基本上,您有两种选择:推送或轮询。推送(一些中央服务器宣布对所有听众的更改)更直接,但需要合适的基础设施。它还取决于您需要支持的客户端数量,以及通过系统传递的事件数量。就个人而言,我是redis pub/sub的忠实粉丝(它实际上是我们在stackexchange上使用的实时更新,加上web-socket)。但在某些情况下,您可以让数据库直接提供更改通知(我个人不喜欢使用它)。您也可以从中央应用服务器上使用WCF之类的事件,但这取决于只有一个应用服务器,这对我来说听起来不是一个好主意。

另一个选项是轮询 - 即让应用程序定期(可能每分钟)自动查询系统,以查看显示的数据是否已更改。如果可以,使用timestamp / rowversion是一种廉价的方法。