2017-05-16 11 views
2

当社のリアルタイムWebアプリケーション用に、ASEのAzure WebアプリケーションでSignal Rを使用しています。 Signal Rが特定のパターンでハブへの接続を失うことがあることに気付きました。 これは、高トラフィック期間と低トラフィック期間の両方で発生しますが、私は低トラフィック期間中にこれがなぜ起こっているのかに、より興味があります。 注:ページ上のJavaScriptがトリガーするいわゆる「1分間の自動更新」があります。それは働いているようだ。シグナルRはサーバー側へのランダムな接続を失います

誰もがSignalRを使用して同様の問題を経験しました。もしそうなら、どのようにこれを解決しましたか?

は、私は間違いなくこれを経験している

答えて

0

(笑!テスターは、あまりにも過酷なことはありません)あなたは ありがとう、そしてそれは私にナットを運転しました。

デフォルトでは、SignalRクライアントは、そのハブへの接続が失われた後、20秒間再接続を試みます。再接続が正常に行われなかった20秒後に、JavaScriptクライアントで切断イベントが発生します。接続が解除されると、クライアントは再接続を断念し、接続が切断されます。 This pageはSignalRライフサイクルイベントを記述し、切断されたイベントが発生した後に再接続を試みる際にいくつかのコードを提供します。

なぜこれが起こるのか。私は、App Poolのリサイクルが一部のアプリで20秒以上かかることがあり、切断されたイベントにつながる可能性があることに気付きました。 JavascriptクライアントとHubの間のネットワーク接続が断続的に低下して20秒を超えると、これも発生する可能性があります。要点は、あなたのコントロールを超えていることが間違っていて、その周りにコードを書くことができないということです。したがって、JavaScriptクライアントが切断イベントを受け取った後で、ロジックを再接続しようとする必要があります。

+0

あなたのコメントRobのためにありがとう、私たちは再接続のためのロジックを持っていますが、まだそれに問題があります...私はそれがこれらのケースの1つだと思います。間違ってあなたのコントロールを超えているし、それらを回避することはできません。 – Iren

関連する問題