【问题标题】:asp.net-async pages (comet/reverse ajax/server push)asp.net-async pages (comet/reverse ajax/server push)
【发布时间】:2011-06-06 09:49:16
【问题描述】:

我正在尝试使用 Asp.net 开发一个彗星页面。上网了很多,发现了一些插件,比如 Pokein。我觉得这个blog 最适合我的项目,因为它与 jQuery 密切相关。但这是在 MVC 中。我想知道我是否可以对 ASP.NET 网站页面做同样的事情。
我需要做的就是在漫长的等待 ajax 调用期间释放工作进程。在 MVC 中,异步控制器派上用场。

如果我可以对网站页面执行相同操作,有人可以帮助我(比如:在静态 Web 方法中长时间等待的 jquery Ajax 调用期间释放工作进程)。
我在网站here 中阅读了有关异步页面的信息,但这将需要一个完整的回发,并且该页面在漫长的等待期间被阻止。 (预渲染时基本释放worker进程,等待长轮询,但由于页面生命周期未完成,UI仍然保持刷新)

提前感谢您的建议极客...

【问题讨论】:

    标签: asp.net asp.net-ajax


    【解决方案1】:

    在网络上使用纯 ASP.NET、JavaScript、JQuery、AJAX 等的“推送”风格架构可能很难实现并且涉及到实现。通常,最常用的路线更像是一种美化的“拉动”模型,其中客户端某处的计时器将向服务器检查所需的数据或所需的状态,然后执行必要的操作。如果你真的想要一个纯粹的 Web 技术的推送架构,你会想要研究长轮询“彗星”架构。您可以在下面阅读更多相关信息:

    彗星(编程):
    http://en.wikipedia.org/wiki/Comet_(programming))

    如果可能的话,在 Microsoft 世界中,理想情况下,您可以跳到像 Silverlight 这样的富客户端技术来使用双工轮询 WCF 服务,在该服务中,订阅服务器的客户端可以将更新从服务器推送回客户端。任何时候(截至今天)我都需要实现任何类型的“推送”架构,我个人会选择 Silverlight,因为有很多示例说明如何轻松实现这一点。如果您有兴趣,请查看以下 (2) 链接:

    使用 WCF 双工服务将数据推送到 Silverlight 客户端:
    http://weblogs.asp.net/dwahlin/archive/2008/06/16/pushing-data-to-a-silverlight-client-with-wcf-duplex-service-part-i.aspx

    如何:为 Silverlight 客户端构建双工服务:
    http://msdn.microsoft.com/en-us/library/cc645027(VS.95).aspx

    无论如何,COMET/Silverlight/Flash 等可能不会成为 HTML5 中 Web 套接字的广泛使用的选项。但是由于规范还没有完全准备好(请参阅:http://ishtml5readyyet.com/),您可能需要同时考虑在您的 ASP.NET 页面上使用 Silverlight 控件,它会运行良好。

    【讨论】:

      猜你喜欢
      • 2011-07-23
      • 2011-01-16
      • 2011-02-10
      • 2011-07-22
      • 2015-10-28
      • 2018-03-30
      • 2011-05-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多