如何在C#中从服务器通知客户端

时间:2018-03-17 07:57:54

标签: c# .net

我在服务器端有一个 Windows应用程序和一个 Web服务,在另一方面(客户端)有 Windows窗体应用程序。我想在服务器上发生变化时通过服务器通知客户端。一种方法是客户端不断检查服务器。但是服务器太忙了,因为客户端的数量大约是 100,000 。这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

  • 一种方法是使用双面合同

How to: Create a Duplex Contract

  

双工合约是可用的三种消息模式之一   Windows Communication Foundation(WCF)服务。另外两条消息   模式是单向的和请求 - 回复。双工合同包括   客户端和服务器之间的两个单向契约,而不是   要求方法调用是相关的。使用这种合同   当您的服务必须向客户查询更多信息时   明确提出客户端上的事件

  • 你也可以使用 Signalr 我猜

Introduction to SignalR

  

ASP.NET SignalR是一个简化ASP.NET开发人员的库   向应用程序添加实时Web功能的过程。   实时Web功能是推送服务器代码的能力   在连接的客户端变得可用时立即为其提供内容   而不是让服务器等待客户端请求新数据。

更新 [回复评论]

WFC Duplex Contracts 非常安全,是实现结果的可靠方式。 Signalr 是一种非常轻量级的方法,并且非常强大或安全。

是的,你是对的,基础级别需要某种套接字连接,但你真的需要研究这两个选项来找出最适合你的东西。我个人在 Signalr 上取得了很多成功,经常使用它,易于设置,并且具有相当的容错能力。虽然如果担心安全性和可靠性,那么 Duplex Contracts 可能是您最好的选择