10

各キーストロークがサーバーに送信され (DB に保存されます)、すべてのクライアントに中継され、戻り値 (並べ替えの文字列トークン) がサーバ。

アプリプールがリサイクルされるまで正常に動作し、すべてのクライアントへのキーストロークの中継を停止し (インメモリサーバーの状態が失われるため)、サーバーも値を返しません。この時点で、SignalR 経由のすべての要求は IIS によってキューに入れられ、アプリ プールがリサイクルされた後に処理されると思います。

私の質問は、このシナリオをどのように処理して、すべてのクライアントがアプリケーション プールのリサイクルによるサーバーの使用不可/遅延を認識し、ユーザーにしばらく待機するように通知し、再接続時に操作を再開できるようにするにはどうすればよいですか?

4

1 に答える 1

5

2 つのオプションがあります。

0.5.3 の場合、クライアントが「再接続中」または「切断中」になったことを検出し、サーバーに問題があることをユーザーに通知できます。ほとんどの場合、クライアントは、サーバーがなくなっただけでは切断されたことを実際には認識しないことに注意してください。

また

次のリリース (1.0alpha) まで待っていただければ、私たちが大部分を処理します。サーバーがない場合、onConnectionSlow イベントをトリガーし、サーバーがオンラインに戻るまで、クライアントが「再接続」状態 (情報を受信しない場合) に移行します。クライアントは、アプリ プールのリサイクルなどのエッジ ケースでサーバーがなくなる (この機能を追加する) ことも認識します。

お役に立てれば!

于 2012-10-04T16:28:42.380 に答える