Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $.connection.hub.id在done函数中未定义_Javascript_Asp.net Mvc 3_Signalr - Fatal编程技术网

Javascript $.connection.hub.id在done函数中未定义

Javascript $.connection.hub.id在done函数中未定义,javascript,asp.net-mvc-3,signalr,Javascript,Asp.net Mvc 3,Signalr,我们正在使用信号器1.2.1。以下是我的启动功能: $.connection.hub.start(self._SignalROptions) .done(function () { self._connecting = false; log("Connected to dashboard hub successfully. (id=" + $.connection.hub.id + ")");

我们正在使用信号器1.2.1。以下是我的启动功能:

$.connection.hub.start(self._SignalROptions)
            .done(function () {
                self._connecting = false;
                log("Connected to dashboard hub successfully. (id=" + $.connection.hub.id + ")");
                self._ensureExistingClientFunctionsAreRegistered();
                if (aDoneFunction) {
                    aDoneFunction();
                }
            })
            .fail(function () {
                log("Connection to dashboard hub failed!");
            });
有时,我们会收到控制台日志,这似乎是一个计时问题:

已成功连接到仪表板中心。id=未定义

然后,在集线器上调用的任何未来函数都会抛出异常

必须先启动连接,然后才能发送数据。打电话。开始之前。发送

David Foll在下面的文章中说,$connection.hub.id不能在done函数中未定义,但它确实发生了:


我做错了什么?如果这在未来的版本中得到修复,我们将很快升级,但有人能提供证据吗?提前感谢。

确保在客户端上至少配置了一个集线器方法。接下来,请尝试删除您的self.\u SignalROptions以确保此处没有任何内容,并允许它使用默认传输等。我将删除您的done方法中除log语句以外的所有代码,我将切换到警报以排除任何解析问题

启用日志记录并查看控制台,以确保没有引发错误

$.connection.hub.logging = true
最后,在服务器上放置一个断点,查看OnConnected方法是否在hub中被命中。如果您仍然没有获得连接id,我会在GitHub上为信号员团队提交一个问题

你应该得到一个id回来,如果你已经删除了你所有的自定义代码,这里没有什么别的事情要做。您的服务器代码也可能有问题