asp.net http服务器推送到客户端

时间:2009-01-23 03:20:39

标签: asp.net server-push

将信息从服务器推送到Web客户端的最佳方法是什么?我知道可以使用Silverlight和Flash设置套接字,但我想继续使用这两种技术。

Gmail似乎可以很好地轮询服务器以查找更新的电子邮件,甚至聊天程序也能很好地工作(所有这些都在我的网络浏览器中工作)。关于使用asp.net做这样的事情的最佳方法的任何想法?

编辑: 如果我必须轮询,我想每隔2或3秒轮询一次服务器。因此,我不确定如何在不使用Web服务器的情况下如何做到这一点。

6 个答案:

答案 0 :(得分:7)

由于您提及ASP.NET,因此您应该使用SignalR。 请在此处查看我的其他答案:Instant notifications like Facebook

答案 1 :(得分:5)

您正在寻找的推送技术称为Comet。有关指示,请参阅this article

答案 2 :(得分:4)

我会创建一个脚本可调用的Web服务并使用JQuery

这是使用JQuery调用ASP.NET(ASMX)Web服务的一个很好的指南:

http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/

现在,您只需在对您的应用程序有意义的任何时间间隔内轮询此Web服务。

此外,ASP.NET AJAX的问题是它有点头重脚轻。通过使用JQuery,您可以从常规ASP.NET Web表单,从MVC中的View调用Web服务,或者实际使用任何其他Web技术(经典ASP,PHP,等等),所有这些都来自客户端,只需使用我的查看,最好的javascript框架。 :)

答案 3 :(得分:4)

试用WebSync,一个为.NET / IIS构建的可扩展彗星服务器。它可以让你很好地从服务器推送数据,并且可以非常容易地与ASP.NET项目集成(只需要几个web.config条目)。

答案 4 :(得分:4)

PokeIn 是ASP.NET的反向ajax库。单声道。它具有各种功能,如.NET到JSON,反之亦然。您可以从here

下载示例项目

答案 5 :(得分:0)

为此,请使用ASP.NET 3.0 / 3.5,或者如果您使用的是早期版本,请使用ASP.NET Ajax。但是,您列出的两个示例都使用Ajax来提取信息,而不是推送它。

相关问题