从ASP.Net服务器推送通知

时间:2013-05-30 23:58:56

标签: asp.net push-notification

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

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

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

1 个答案:

答案 0 :(得分:4)

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

Taken from asp.net website. The Client Code

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();