我们如何将消息从Web服务器推送到客户端(浏览器)?

时间:2012-10-27 08:51:37

标签: c# javascript asp.net notifications broadcasting

  

可能重复:
  C#/ASP Based Reverse AJAX

要求:我们必须在新通知到达时将消息推送到客户端。几乎就像是消息通知或广播。它可能适用于多个用户。

在ASP.NET Web应用程序中需要它。

任何解决方案?

3 个答案:

答案 0 :(得分:4)

技术上最合适的解决方案就是:web-socket。它们的设计正是为了这个,而且大多数具有实时要求的主要站点都喜欢工作。确实如何在stackoverflow上进行实时更新。这里的小故障是一些浏览器(好的,IE)不支持它们 - 所以如果更新很重要,你需要一个后备。

下一个选项是长轮询和重复轮询。两者都有效。

有一些工具支持所有可行的选项,并自动选择最合适的,抽象的交付机制。 SignalR就是这样一个工具。

如果这是一个很好的,我会说网络套接字。如果需要,可以是web-socket-plus-polling-fallback,也可以是SignalR。

答案 1 :(得分:1)

SignalR怎么样?您可以查看Scott Hanselman关于SignalR的视频。 Alos网上有很多样本。

答案 2 :(得分:0)

一种方法是使用Ajax来完成此功能.... 如果新通知到达,请使用经典Ajax获取响应...在每个时间间隔后调用SetTimeOut以不断调用此ajax函数...如果有任何新通知到达,您将在ajax响应中获得它... 。如果它存在,您可以使用此响应以您想要的任何方式向客户显示...您可以在http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp了解有关Ajax的更多信息