来自 ASP.Net 服务器的推送通知

Ton*_*Nam 3 asp.net push-notification

我有一个执行某些操作的 Web 服务。当事件发生时,我想通知客户。我遇到的问题是我能够从客户端连接到服务器,但不能反过来,因为客户端恰好位于 NAT(路由器)后面。目前,我每分钟都在请求检查通知。如果我能有一种技术可以更快地通知客户而不必提出这么多不必要的请求,那就太好了。

注意:客户端是 ac# 控制台应用程序,服务器是一个 asp.net 网站。

(请注意,如果服务器上发生事件,我想通知所有客户端)

Aro*_*ron 6

使用 SignalR。这是微软用于抽象实时服务器-客户端连接的新库,如果您的设置允许,它支持新的 WebSockets 协议。

摘自asp.net 网站。客户代码

var hubConnection = new HubConnection("http://www.contoso.com/");
IHubProxy stockTickerHubProxy = hubConnection.CreateHubProxy("StockTickerHub");
stockTickerHubProxy.On<Stock>("UpdateStockPrice", 
    stock => Console.WriteLine("Stock update for {0} new price {1}", stock.Symbol, stock.Price));
await hubConnection.Start();
Run Code Online (Sandbox Code Playgroud)

  • @GregDzezinski 微软的好人已经做到了。[我会让另一个SOer解释...](http://stackoverflow.com/a/7874352/1808494) (2认同)