ASP.netのHttpApplicationStateに関する教育が必要
-
06-07-2019 - |
質問
今日、ASP.netのHttpApplicationStateに関連する2つの問題と混同しています。私の質問は次のとおりです
-
セッション管理にStateServerを使用する場合(Webガーデンの展開に使用するout procセッション管理のもの)、 HttpApplicationState(System .Web.UI.Page.Applicationプロパティ)もSessionと同様にStateServer内に保存されます。したがって、workerprocess Aが値「10」を書き込んだ場合、 Page.Applicationに、ある時点でworkerprocess Bで実行されている別のリクエストがこの「10」を参照する必要があります。同じキーに対して-それは正しいですか?
-
ある開発者仲間が、StateServerシナリオでのテストで、 Page.Sessionに100個のキーと値のエントリが挿入され、その後、別のリクエストからのキーの場合、workerprocessは100個のエントリ全体をアクティブなworkerprocessメモリ空間に取り込み、リクエストによって実際に要求されたキーを提供します。は本当ですか?
この点に関する混乱を解消するために誰かが私を助けてくれれば幸いです。
ありがとう!
解決
-
StateServerはセッション状態のみをサポートし、アプリケーション状態はAppDomainに制限されます。
-
StateServerは、セッションのシリアル化を保存します。特定のキー値にアクセスする方法を知る方法はありません。アクセスすると、セッションはそれを必要とするアプリケーションに再ハイドレートされ、リクエストの期間中は通常のセッションデータとして使用されます。
他のヒント
-
私の知る限り、アウトプロセス状態サーバーはHttpApplicationStateデータを保存しません。これを簡単にテストして確認することはできますが、そうなるとは思いません。
-
これも事実ではないと思います。セッションストアは基本的にハッシュテーブルです。ハッシュテーブルで単一のキーを検索すると、関連する値のみが返されます。説明した動作は表示されません。繰り返しますが、これを簡単にテストできるはずです。