【问题标题】:asp.net http server push to client [closed]asp.net http服务器推送到客户端[关闭]
【发布时间】:2010-10-03 01:48:06
【问题描述】:

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

Gmail 似乎在轮询服务器以获取更新的电子邮件方面做得很好,甚至他们的聊天程序也运行良好(所有这些都在我的网络浏览器中运行)。关于使用 asp.net 做这种事情的最佳方法的任何想法?

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

【问题讨论】:

标签: asp.net server-push


【解决方案1】:

既然你提到了ASP.NET,你应该使用SignalR。 在这里查看我的其他答案:Instant notifications like Facebook

【讨论】:

  • 有没有人扩展 SignalR 的经验?我需要向大约 100,000 个客户端推送小消息(向所有这些客户端发送相同的消息),这需要多少台服务器?
【解决方案2】:

您正在寻找的推送技术称为 Comet。请参阅this article 获取一些提示。

【讨论】:

    【解决方案3】:

    我将创建一个可调用脚本的 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 中的视图或实际使用任何其他 Web 技术(经典 ASP、PHP 等)从客户端调用您的 Web 服务。查看,最好的 javascript 框架。 :)

    【讨论】:

      【解决方案4】:

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

      【讨论】:

      • [完全免责声明:我为 Frozen Mountain 工作]
      • WebSync 是付费服务
      【解决方案5】:

      PokeIn 是一个用于 ASP.NET 和 Mono 的反向 ajax 库。它具有各种功能,例如 .NET 到 JSON,反之亦然。您可以从here下载示例项目

      【讨论】:

        【解决方案6】:

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

        【讨论】:

          猜你喜欢
          • 2016-01-10
          • 2010-09-25
          • 1970-01-01
          • 1970-01-01
          • 2012-04-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多