管理者がiisをリセットしたり、asp.net MVCアプリケーションサーバーでいくつかの変更を行ったりできるように、すべてのユーザーに作業とログアウトを保存するように通知する必要があります。
セッションオブジェクトコレクションをループすることは、私が学んだことであるスレッドセーフではありません。
他のアイデアはありますか?
また、アクティブなセッションを取得できたとしても、それらのクライアントにメッセージを送信するにはどうすればよいですか?
前もって感謝します。
管理者がiisをリセットしたり、asp.net MVCアプリケーションサーバーでいくつかの変更を行ったりできるように、すべてのユーザーに作業とログアウトを保存するように通知する必要があります。
セッションオブジェクトコレクションをループすることは、私が学んだことであるスレッドセーフではありません。
他のアイデアはありますか?
また、アクティブなセッションを取得できたとしても、それらのクライアントにメッセージを送信するにはどうすればよいですか?
前もって感謝します。
メッセージをデータベースに保存し、リクエストごとにデータベースにクエリを実行して、メッセージが存在するかどうかを確認します。
SignalR のケースのようですね!
これは、定義が不十分な要件のようです。
重要なメンテナンスは特定の時間に実行する必要があり、ユーザーはその時間枠を十分前もって警告する必要があります。
IIS を単純に再起動するだけで、非常に簡単な手順になります。IIS を再起動するだけで、ユーザーが作業を失う理由はありますか? たとえば、この StackOverflow の回答に記入している間に、サーバーが何十回も再起動された可能性があります。Post をクリックすると、サーバーがダウンしている場合は、タイムアウトして作業がテキストエリアに残されるか、サーバーが時間内に戻った場合に正常に接続されます。
データを送信せずにリンクをクリックするだけの場合も同様です。ブラウザがタイムアウトした場合は、サーバーがバックアップされたら単純な更新で十分です。または、最終的にユーザーが行きたい場所に移動します。 .
純粋な AJAX リクエストを実行している場合は、ブラウザに依存するのではなく、不足しているサーバーを自分で処理する必要がありますが、分散コンピューティングの 8 つの誤り #1:"ネットワークは信頼できます。」( http://en.wikipedia.org/wiki/Fallacies_of_Distributed_Computingを参照)
だから、私は実際にその要件に反対します。彼らは、実際にはニーズを満たさず (ユーザーがデータを失うことはなく、適度に優れたエクスペリエンスを提供する)、複雑になり、最終的には脆弱なソリューションになることを求めています。