SignalR - 无法从连接到多个集线器的客户端调用集线器方法
SignalR - can't invoke hub method from client connected to multiple hubs
我在客户端设置了 2 个 SignalR 连接 - 每个集线器一个。通过以下方式建立连接:
var firstConnection = Signalr.connect();
var secondConnection = Signalr.connect({ hubName: 'MySecondHub' });
可以在默认连接上调用集线器方法,但是当我这样做时...
this.secondConnection.invoke('My2ndHubMethod').then(data => {
. . .
});
...它只是在控制台中记录以下内容
SignalRConnection. Start invoking 'My2ndHubMethod'...
似乎从来没有调用过 returns。
当我将 SignalRConfiguration.transport
从 ConnectionTransports.webSocket
更改为 ConnectionTransports.longPolling
时,它会产生以下错误:
Value cannot be null.
Parameter name: s
并将以下日志记录到控制台Invoking 'My2ndHubMethod' failed. Rejecting promise...
这可能是什么原因?
显然错误是由 Hub1 和 Hub2 在其构造函数中的参数数量不同引起的。一旦我为两者输入相同数量和类型的参数,它就开始工作了。
我在客户端设置了 2 个 SignalR 连接 - 每个集线器一个。通过以下方式建立连接:
var firstConnection = Signalr.connect();
var secondConnection = Signalr.connect({ hubName: 'MySecondHub' });
可以在默认连接上调用集线器方法,但是当我这样做时...
this.secondConnection.invoke('My2ndHubMethod').then(data => {
. . .
});
...它只是在控制台中记录以下内容
SignalRConnection. Start invoking 'My2ndHubMethod'...
似乎从来没有调用过 returns。
当我将 SignalRConfiguration.transport
从 ConnectionTransports.webSocket
更改为 ConnectionTransports.longPolling
时,它会产生以下错误:
Value cannot be null.
Parameter name: s
并将以下日志记录到控制台Invoking 'My2ndHubMethod' failed. Rejecting promise...
这可能是什么原因?
显然错误是由 Hub1 和 Hub2 在其构造函数中的参数数量不同引起的。一旦我为两者输入相同数量和类型的参数,它就开始工作了。