2017-12-05 7 views
0

私たちには、winformアプリケーションと対話する必要のあるWebアプリケーション(角)があります。私たちはそれをSignalRで行います。 ブラウザとwinformはCitrixサーバーにデプロイされています。 IISサーバーのWebファームがあり、その上にwebapiサービスとsignalRハブがあります。F5とCitrixを使ったSignalRスティッキセッション

すべてのネットワークアクティビティは、F5ロードバランサを経由します。

私たちが直面している問題は、chromeで実行されているWebアプリケーションとWindowsフォームアプリケーションが同じSignalR Hub Serverに接続されていることを確認する方法です。

すべてのユーザーがCitrixインフラストラクチャを使用しているため、すべての発信元IPが同じであるため、発信IPに基づくstickeyセッションは使用できません。 クッキーを使用しています - ブラウザとwinformアプリケーションの間でクッキーが共有されているかわかりません。とにかくWebSocketのシナリオでクッキーが動作していない(右?)

は、バックプレーンを使用する唯一のソリューションですか? (現時点ではDOTNETコアを使用していない)

答えて

0

上書きまたは変更ソースSignalr

プライベートタスクProcessNegotiationRequest - >

string connectionId = !string.IsNullOrEmpty(context.Request.QueryString["ConnId"]) ? context.Request.QueryString["ConnId"]: connectionId = Guid.NewGuid().ToString("d"); 

そして私という私を見つけた

+0

をクエリ文字列にCONIDを送信シグナル・ハブへの接続でQueryStringオプションを使用することができ、その問合せ文字列はすべての要求でサーバーに送信されます。 私は、クエリ文字列の値を使ってF5でiRuleを作ろうとしています。 – May

関連する問題