1

管理者がiisをリセットしたり、asp.net MVCアプリケーションサーバーでいくつかの変更を行ったりできるように、すべてのユーザーに作業とログアウトを保存するように通知する必要があります。

セッションオブジェクトコレクションをループすることは、私が学んだことであるスレッドセーフではありません。

他のアイデアはありますか?

また、アクティブなセッションを取得できたとしても、それらのクライアントにメッセージを送信するにはどうすればよいですか?

前もって感謝します。

4

3 に答える 3

1

メッセージをデータベースに保存し、リクエストごとにデータベースにクエリを実行して、メッセージが存在するかどうかを確認します。

于 2012-04-08T00:06:26.573 に答える
0

SignalR のケースのようですね!

https://github.com/SignalR/SignalR

于 2012-04-08T02:55:30.063 に答える
0

これは、定義が不十分な要件のようです。

重要なメンテナンスは特定の時間に実行する必要があり、ユーザーはその時間枠を十分前もって警告する必要があります。

IIS を単純に再起動するだけで、非常に簡単な手順になります。IIS を再起動するだけで、ユーザーが作業を失う理由はありますか? たとえば、この StackOverflow の回答に記入している間に、サーバーが何十回も再起動された可能性があります。Post をクリックすると、サーバーがダウンしている場合は、タイムアウトして作業がテキストエリアに残されるか、サーバーが時間内に戻った場合に正常に接続されます。

データを送信せずにリンクをクリックするだけの場合も同様です。ブラウザがタイムアウトした場合は、サーバーがバックアップされたら単純な更新で十分です。または、最終的にユーザーが行きたい場所に移動します。 .

純粋な AJAX リクエストを実行している場合は、ブラウザに依存するのではなく、不足しているサーバーを自分で処理する必要がありますが、分散コンピューティングの 8 つの誤り #1:"ネットワークは信頼できます。」( http://en.wikipedia.org/wiki/Fallacies_of_Distributed_Computingを参照)

だから、私は実際にその要件に反対します。彼らは、実際にはニーズを満たさず (ユーザーがデータを失うことはなく、適度に優れたエクスペリエンスを提供する)、複雑になり、最終的には脆弱なソリューションになることを求めています。

于 2012-04-08T00:15:40.920 に答える