使用 SignalR 横向扩展,我如何将消息从客户端广播到连接到我的背板的所有服务器?我认为它应该默认工作,但是只有一个服务器的集线器正在接收消息。
设置:我在负载均衡器后面有 4 个虚拟机,我正在使用带有 Redis 背板的 SignalR。我有以下集线器:
public class ProgressHub : Hub
{
public void StartProcessing(string clientId)
{
// ...
}
}
在客户端,我使用以下方法调用此方法:
$.connection.hub.start().done(function() {
proghub.server.startProcessing(me.clientId);
});
我已经在消息总线上启用了跟踪,并且在所有服务器上都收到了消息:
SignalR.ScaleoutMessageBus Information: 0 : OnReceived(0, 54, 1)
但是,仅在一台服务器上调用 Hub 方法。如何让这个调用在所有服务器上执行 StartProcessing 方法?