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

C# 我们如何将消息从Web服务器推送到客户端(浏览器)?,c#,javascript,asp.net,notifications,broadcasting,C#,Javascript,Asp.net,Notifications,Broadcasting,可能重复: 要求:当新通知到达时,我们必须将消息推送到客户端。几乎就像一个消息通知或广播。它可能适用于多个用户 在ASP.NET web应用程序中需要它 有解决方案吗?一种方法是使用Ajax来完成此功能。。。。 如果新通知到达,使用经典Ajax获取响应…调用SetTimeOut在每个时间间隔后不断调用此Ajax函数…如果到达任何新通知,您将在Ajax响应中获取它…如果有,您可以使用此响应以任何方式向客户端显示它…您可以了解有关Ajax的更多信息,请访问http://www.Ajax.com.c

可能重复:

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

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


有解决方案吗?

一种方法是使用
Ajax
来完成此功能。。。。
如果新通知到达,使用经典Ajax获取响应…调用
SetTimeOut
在每个时间间隔后不断调用此Ajax函数…如果到达任何新通知,您将在Ajax响应中获取它…如果有,您可以使用此响应以任何方式向客户端显示它…您可以了解有关Ajax的更多信息,请访问http://www.Ajax.com.cn。你可以查看斯科特·汉斯曼的这段视频。互联网上有很多示例。

技术上最合适的解决方案就是:web套接字。它们正是为此而设计的,这也是大多数具有实时性要求的主要站点喜欢的工作方式。这确实是stackoverflow上实时更新的工作方式。这里的一个小问题是,一些浏览器(ok,IE)不支持它们——因此,如果更新很重要,您需要一个后备方案

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

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


如果这是一个很好的选择,我会说web套接字。如果这是一项要求,web套接字加上轮询回退,或者类似信号器的东西。

很好的解决方案。这是一种连续轮询机制。在这种情况下,服务器会在某个时间点变忙。如果是按需的话,那么就可以了。有什么评论吗?是的,你是对的,问题就在那里……但这也取决于你通过ajax获得的响应和用户数量……还有一种方法是延长了超时时间间隔…嗨,Florin,欢迎使用堆栈溢出!虽然链接可能会有所帮助,但一般来说,答案应该完全回答问题,并且是独立的。如果这个链接断了,你的回答对未来的访问者来说是无用的。考虑做一个帖子来添加一个例子。这将不仅有助于提问者,也有助于其他寻求答案的人。祝你好运