【问题标题】:SignalR QuickStart Persistent Connections QuickStart giving JavaScript ErrorSignalR 快速入门持久连接快速入门给出 JavaScript 错误
【发布时间】:2012-04-13 11:19:12
【问题描述】:

我从一个全新的 EmptyWebApplication 中遵循了以下快速入门示例: https://github.com/SignalR/SignalR/wiki/QuickStart-Persistent-Connections

我使用 NuGet 安装,添加了 Global.asax、MyConnection.cs 和 EchoClient.aspx,其中的代码与教程中概述的完全相同(除了一个不同之处,我的类位于命名空间“SignalR1”中 - 我不认为它应该很重要,因为它全部编译但我还是记下了它)。但是,当我运行应用程序并点击“广播”按钮时出现以下错误:

SignalR: Connection must be started before data can be sent. Call .start() before .send()

我很确定 .start() 是在 .send() 之前调用的,因为教程中的代码就是这样做的,而且我还逐步检查了代码以确保它发生。我猜由于某种原因连接没有通过。

有什么想法吗?我也在使用 Visual Studio 开发服务器(不确定这是否重要,但也要记下它)。谢谢!

【问题讨论】:

    标签: asp.net c#-4.0 signalr


    【解决方案1】:

    解决办法是;因为它是异步的;您应该在“发送”消息之前等待连接。但是等一下!你怎么会知道?我真的一点头绪都没有。不幸的是,由于 SignalR 处于“无望”的 beta 状态,它存在大量的实现和文档问题。

    【讨论】:

    • 所以我尝试让我的 Web 应用程序运行 15 分钟,然后点击“广播”按钮。它仍然遇到同样的问题。因此,要么建立连接需要超过 15 分钟,要么我做错了其他事情。
    • 您是否尝试使用浏览器工具查看是否有任何 javascript 错误?
    【解决方案2】:

    David Fowler 在 GitHub 上帮助了我。问题是我的 NuGet 版本太旧了。升级到最新版本的 NuGet 并使用它来安装 SignalR 修复了此问题。

    见: http://github.com/SignalR/SignalR/issues/288

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-02
      • 2014-11-12
      • 1970-01-01
      • 1970-01-01
      • 2014-05-30
      相关资源
      最近更新 更多