首页 > 解决方案 > 无法从 JavaScript 客户端连接到 ASP.NET SignalR 集线器

问题描述

我需要从 JavaScript 连接到 ASP.NET SignalR 集线器。我正在使用@aspnet/signalr npm 包,使用以下代码进行连接。

connection = new signalR.HubConnectionBuilder()
    .withUrl("<link to hub>", { accessTokenFactory: () => token })
    .build();
connection.start()

相同的代码可以连接到 ASP.NET Core SignalR 集线器,但对于 ASP.NET SignalR 集线器,它会返回以下错误:TypeError: Cannot read property 'length' of undefined at "HttpConnection"

这是不兼容版本的问题吗?可以使用 @aspnet/signalr 包连接到 ASP.NET SignalR 集线器吗?

标签: c#asp.netsignalrasp.net-core-signalr

解决方案


简短的回答,不,您不能使用/混合客户端/服务器包。ASP.NET Core SignalR 与 ASP.NET SignalR 的客户端或服务器不兼容。

在此处查看我较旧的帖子/接受的答案 - https://stackoverflow.com/a/49153217/6263514

但对于较新的参考文档 - https://docs.microsoft.com/en-us/aspnet/core/signalr/version-differences?view=aspnetcore-5.0


推荐阅读