2016-09-19 24 views
4

私はsignalRと信頼できるアクター設定を持つWeb APIを持つサービスファブリッククラスタを持っています。AzureサービスファブリックWebAPI with SignalR

また、Web APIにヒットする別個のMVCアプリケーションもあります。

私はsignalRに接続できますが、MVCアプリケーションでうまくいけばうまく動作し、すべて正常に動作します。しかし、MVCアプリケーションが接続されているグループにsignalRブロードキャストをトリガーしなければならない信頼できるアクタでAPIを起動すると、MVCアプリケーションで何も表示されません。私はそれが確実にするためにロギングを持っているので、それがAPIを打つことを知っています。

セッション永続性をクライアントIPに設定しました。私は、signalRハブが別のノード上の同じハブまたはハブではない可能性があると考えていますか?これがすべて同じものになるように強制することができる方法はありますか?何も忘れていますか?より多くの情報を含める必要がある場合はお知らせください。

+1

が、それは一部のトラフィックが1台のSignalRサーバーに行くが、クライアントが接続されていることをすることができ、それらはメッセージが表示されませんあなたはバックプレーンを持っていないので、サーバー同士が話していないからです。 – Pawel

答えて

2

は、私が見つけた答えはSignalR Scaleout with Redis

は基本的に、これはサービス・ファブリック内のすべてのノードでsignalRメッセージを共有するためのRedisを使用しました。

だけのRedis、Microsoft.AspNet.SignalR.Redisを参照して、起動時にこれを追加設定:

GlobalHost.DependencyResolver.UseRedis(new RedisScaleoutConfiguration(redisConnectionString, "SignalR")); 
関連する問題