我在服务器端有一个 Windows应用程序和一个 Web服务,在另一方面(客户端)有 Windows窗体应用程序。我想在服务器上发生变化时通过服务器通知客户端。一种方法是客户端不断检查服务器。但是服务器太忙了,因为客户端的数量大约是 100,000 。这样做的最佳方式是什么?
答案 0 :(得分:1)
How to: Create a Duplex Contract
双工合约是可用的三种消息模式之一 Windows Communication Foundation(WCF)服务。另外两条消息 模式是单向的和请求 - 回复。双工合同包括 客户端和服务器之间的两个单向契约,而不是 要求方法调用是相关的。使用这种合同 当您的服务必须向客户查询更多信息时 明确提出客户端上的事件
ASP.NET SignalR是一个简化ASP.NET开发人员的库 向应用程序添加实时Web功能的过程。 实时Web功能是推送服务器代码的能力 在连接的客户端变得可用时立即为其提供内容 而不是让服务器等待客户端请求新数据。
更新 [回复评论]
WFC 和 Duplex Contracts 非常安全,是实现结果的可靠方式。 Signalr 是一种非常轻量级的方法,并且非常强大或安全。
是的,你是对的,基础级别需要某种套接字连接,但你真的需要研究这两个选项来找出最适合你的东西。我个人在 Signalr 上取得了很多成功,经常使用它,易于设置,并且具有相当的容错能力。虽然如果担心安全性和可靠性,那么 Duplex Contracts 可能是您最好的选择