【问题标题】:Unable to connect to ASP.NET SignalR hub from JavaScript client无法从 JavaScript 客户端连接到 ASP.NET SignalR 集线器
【发布时间】:2021-04-26 11:08:58
【问题描述】:

我需要从 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.net signalr asp.net-core-signalr


    【解决方案1】:

    简短的回答,不,您不能使用/混合客户端/服务器包。 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

    【讨论】:

    • 我知道这里要使用的 npm 包是旧的“signalr”。是否推荐在 React 中使用这个包,因为它使用 jQuery,并且 React 和 jQuery 一般不一起使用?
    • 我不推荐任何一种方式,因为我不使用 React。我建议更多地搜索以这种方式使用它,因为有参考使用“react native signalr”包,例如 - stackoverflow.com/questions/58796152/…
    猜你喜欢
    • 1970-01-01
    • 2019-10-07
    • 2015-07-09
    • 2021-08-28
    • 2018-08-24
    • 1970-01-01
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    相关资源
    最近更新 更多