SignalR 连接协商失败
SignalR connection negotiation fails
我正在尝试在 Angular 应用程序中使用 SignalR。我正在使用 Typescript 客户端 @aspnet/signalr
.
我在控制台得到的是
Information: Normalizing '/api/signalr?connectionData=%5B%7B%22name%22%3A%22myhub%22%7D%5D' to 'http://server:port/api/signalr?connectionData=%5B%7B%22name%22%3A%22myhub%22%7D%5D'.
Debug: Starting HubConnection.
Debug: Starting connection with transfer format 'Text'.
Debug: Sending negotiation request:
http://server:port/api/signalr/negotiate?connectionData=%5B%7B%22name%22%3A%22kanbanhub%22%7D%5D
Error: Failed to start the connection: TypeError: Cannot read property 'length' of undefined
错误似乎来自 HttpConnection
中的行 if (!(_i < transports_1.length)) return [3 /*break*/, 9];
。这可能与协商响应不包含 availableTransports
数组有关。
{
"Url":"/api/signalr",
"ConnectionToken":"XXX",
"ConnectionId":"XXX",
"KeepAliveTimeout":20.0,
"DisconnectTimeout":30.0,
"ConnectionTimeout":110.0,
"TryWebSockets":false,
"ProtocolVersion":"1.2",
"TransportConnectTimeout":5.0,
"LongPollDelay":0.0
}
知道为什么吗?
看来问题是我在客户端使用 ASP.NET Core SignalR,在服务器端使用 ASP.NET SignalR,它们不兼容。
而不是 @aspnet/signalr
我应该使用 signalr
.
我正在尝试在 Angular 应用程序中使用 SignalR。我正在使用 Typescript 客户端 @aspnet/signalr
.
我在控制台得到的是
Information: Normalizing '/api/signalr?connectionData=%5B%7B%22name%22%3A%22myhub%22%7D%5D' to 'http://server:port/api/signalr?connectionData=%5B%7B%22name%22%3A%22myhub%22%7D%5D'.
Debug: Starting HubConnection.
Debug: Starting connection with transfer format 'Text'.
Debug: Sending negotiation request: http://server:port/api/signalr/negotiate?connectionData=%5B%7B%22name%22%3A%22kanbanhub%22%7D%5D
Error: Failed to start the connection: TypeError: Cannot read property 'length' of undefined
错误似乎来自 HttpConnection
中的行 if (!(_i < transports_1.length)) return [3 /*break*/, 9];
。这可能与协商响应不包含 availableTransports
数组有关。
{
"Url":"/api/signalr",
"ConnectionToken":"XXX",
"ConnectionId":"XXX",
"KeepAliveTimeout":20.0,
"DisconnectTimeout":30.0,
"ConnectionTimeout":110.0,
"TryWebSockets":false,
"ProtocolVersion":"1.2",
"TransportConnectTimeout":5.0,
"LongPollDelay":0.0
}
知道为什么吗?
看来问题是我在客户端使用 ASP.NET Core SignalR,在服务器端使用 ASP.NET SignalR,它们不兼容。
而不是 @aspnet/signalr
我应该使用 signalr
.