微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SignalR - 无法从连接到多个集线器的客户端调用集线器方法

如何解决SignalR - 无法从连接到多个集线器的客户端调用集线器方法

我在客户端上设置了 2 个 SignalR 连接 - 每个集线器一个。通过以下方式建立连接:

var firstConnection = Signalr.connect();
var secondConnection = Signalr.connect({ hubName: 'MySecondHub' });

认连接上调用集线器方法有效,但是当我这样做时...

this.secondConnection.invoke('My2ndHubMethod').then(data => {
     . . . 
});

...它只是在控制台中记录以下内容 SignalRConnection. Start invoking 'My2ndHubMethod'...

似乎调用从未真正返回。

当我将 SignalRConfiguration.transportConnectionTransports.webSocket 更改为 ConnectionTransports.longPolling 时,它会产生以下错误

Value cannot be null.
Parameter name: s

并将以下日志记录到控制台 Invoking 'My2ndHubMethod' Failed. Rejecting promise...

这可能是什么原因?

解决方法

显然该错误是由 Hub1 和 Hub2 在其构造函数中具有不同数量的参数引起的。一旦我为两者设置了相同数量和类型的参数,它就开始工作了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。