【问题标题】:Reverse Ajax(Comet) with ASP.NET使用 ASP.NET 反向 Ajax(彗星)
【发布时间】:2011-06-10 08:59:28
【问题描述】:

我正在寻找一个如何使用 ASP.NET 实现反向 Ajax (Comet) 的基本示例。我已经看过下面的,我现在不想使用它们(因为它们是付费的)

http://www.frozenmountain.com/websync/ http://www.lightstreamer.com/demos.htm

我已经访问了 SO 上提到的各种链接。但他们中的大多数都指向外部 API。我正在寻找一个明确的例子来说明如何实现它。

【问题讨论】:

    标签: asp.net jquery ajax comet reverse-ajax


    【解决方案1】:

    看看 SignalR,它是免费的,非常易于使用且运行良好。

    https://github.com/SignalR/SignalR

    Scott Hanselman 在his blog 也谈到了它

    【讨论】:

      【解决方案2】:

      如果您愿意考虑将 Silverlight PollingDuplexHttpBinding 用作将 Javascript 链接到您的服务器的一种方式,请参阅 this S.O. question

      【讨论】:

        【解决方案3】:

        我一直在寻找同样的东西,我发现 https://github.com/nmosafi/aspComet 是开源的(如果你愿意,你可以贡献)。他们在网站上有一个工作示例,您可以查看。他们有一个人会在博客上写一些你可能会觉得有用的设计决策等 (Blog Link)

        【讨论】:

          【解决方案4】:

          【讨论】:

            【解决方案5】:

            很遗憾,您找不到。反向 Ajax 是一项复杂的任务,它需要服务器端和客户端的“魔法”才能跨浏览器兼容、具有适当的状态和线程管理以及可扩展性。本质上,彗星服务器是每个客户端的流连接(或长轮询)+ 智能线程管理。此外,对于合适的 Comet 服务器,您还必须完全实现 the Bayeux protocol

            CodeProject 上有一篇文章介绍了如何在 IIS 中实现类似的功能,但即使这样也非常复杂。

            我们考虑过实施我们自己的东西,但很快就决定放弃,因为这会花费我们几个月的工作时间,所以这些产品的价格非常便宜。

            另外,如果您真的对如何实现类似的东西感兴趣,最好的起点是深入研究 WebSync 源代码,因为它没有被混淆。不过要小心抄袭,因为他们有很多独特的诀窍。

            另一种选择是考虑其他平台(其他语言的开源彗星服务器)。您可能会发现它们比 C# 更适合该任务。例如,您会发现writing a comet server in erlang 非常容易。

            编辑:实际上已经有两个关于 SO 的类似问题可能对您有所帮助: Comet implementation for ASP.NET?Simple “Long Polling” example code?

            【讨论】:

              猜你喜欢
              • 2011-03-07
              • 2011-12-20
              • 2013-04-07
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2010-10-10
              相关资源
              最近更新 更多