带SignalR的Azure Service Fabric WebAPI

时间:2016-09-19 23:18:36

标签: azure asp.net-web-api signalr azure-service-fabric

我有一个服务结构集群,其中包含带有signalR和可靠的actor设置的Web API。

我还有一个单独的MVC应用程序可以访问Web API。

我可以使用MVC应用程序连接到signalR就好了,一切正常。但是当我使用可靠的actor点击API时,它应该触发一个signalR广播到MVC应用程序所连接的组,我的MVC应用程序上没有任何内容。我知道它正在点击API,因为我记录它是确定的。

我已将负载均衡器设置为会话持久性到客户端IP。我怀疑signalR集线器可能不是同一个“集线器”或它在另一个节点上?有什么方法可以强迫它全部在同一个上面这样沟通吗?我忘了什么吗?如果我需要提供更多信息,请告诉我。

1 个答案:

答案 0 :(得分:2)

我找到的答案是SignalR Scaleout with Redis

基本上,这使用redis在服务结构中的所有节点之间共享signalR消息。

只需设置Redis,引用Microsoft.AspNet.SignalR.Redis并将其添加到您的启动中:

GlobalHost.DependencyResolver.UseRedis(new RedisScaleoutConfiguration(redisConnectionString, "SignalR"));