gpt4 book ai didi

SignalR 自主机 : Connection must be started before data can be sent. 在 .send() 之前调用 .start()

转载 作者:行者123 更新时间:2023-12-01 03:50:30 27 4
gpt4 key购买 nike

我知道这是另一个与此问题相关的帖子:)

我正在尝试重写我的项目以使用 SignalR 自托管库(根据 this 教程),但现在无法通过此错误。

我初始化连接如下:

$.connection.hub.url = "http://localhost:8182/signalr";
$.connection.hub.logging = true;
var connection = $.connection.hub.start();

console.log(connection.state());

connection.done(function () {
console.log(connection.state());
[...] // initialising viewmodels in here...
});

当第一个 View 模型初始化时,我根据线程主题收到错误:
[17:29:14 GMT+0100 (GMT Daylight Time)] SignalR: Auto detected cross domain url. jquery.signalR-2.0.3.js:76
[17:29:14 GMT+0100 (GMT Daylight Time)] SignalR: Negotiating with 'http://localhost:8182/signalr/negotiate?clientProtocol=1.3'. jquery.signalR-2.0.3.js:76
pending main.js:218
[17:29:14 GMT+0100 (GMT Daylight Time)] SignalR: Attempting to connect to SSE endpoint 'http://localhost:8182/signalr/connect?transport=serverSentEvents&connection…pdQlpKjRBpUhB0PY4itVfHasSmixQAAAB0HA7hA9gYDflrhGockG%2FZR55tLg%3D%3D&tid=1'. jquery.signalR-2.0.3.js:76
[17:29:14 GMT+0100 (GMT Daylight Time)] SignalR: EventSource connected. jquery.signalR-2.0.3.js:76
[17:29:14 GMT+0100 (GMT Daylight Time)] SignalR: Now monitoring keep alive with a warning timeout of 13333.333333333332 and a connection lost timeout of 20000. jquery.signalR-2.0.3.js:76
resolved main.js:220
Object {getAccountActions: function, getIncidentActionCount: function, getIncidentActions: function, refreshAccountActions: function, refreshActions: function…}
IncidentAction.js:12
Uncaught Error: SignalR: Connection must be started before data can be sent. Call .start() before .send()

我在 connection.done 之后的 console.log 连接状态并清楚地显示为已解决。

同样在我初始化的第一个 View 模型中,我的 console.log connection.server 和我所有的服务器方法都在那里可见,根据上面的片段。

服务器端代码:
class Program
{
static void Main(string[] args)
{
string url = "http://localhost:8182";
using (WebApp.Start(url))
{
Console.WriteLine("Server running on {0}", url);
Console.ReadLine();
}
}
}

任何建议,为什么即使连接已“解决”,我也会收到此错误?

编辑:最初我将服务器上的 Owin Startup 类移动到我的解决方案中的另一个项目,我认为这导致了问题。当我把它放在我的signalR自托管项目中时,错误消失了

最佳答案

连接状态应该是connected

像这样尝试:

 $.connection.hub.start().done(function () {
console.log(connection.state());
}) .fail(function (error) {
console.log('Invocation of start failed. Error:'+ error)
});

关于SignalR 自主机 : Connection must be started before data can be sent. 在 .send() 之前调用 .start(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23346541/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com