1

今日、ASP.netのHttpApplicationStateに関連する2つの問題と混同しています。私の質問は次のとおりです

  1. セッション管理(Webガーデンのデプロイに使用したいout procセッション管理のもの)にStateServerを使用する場合、HttpApplicationState(System.Web.UI.Page.Applicationプロパティを介してアクセスしている)を想定しても安全ですか? )セッションと同じようにStateServer内にも保存されますか?したがって、workerprocess Aが値「10」をPage.Applicationに書き込んだ場合、後でworkerprocess Bで実行されている別のリクエストは、同じキーに対してこの「10」を参照する必要があります。これは正しいですか?

  2. 私の仲間の開発者の1人は、StateServerシナリオで、100個のKey-ValueエントリがPage.Sessionに挿入されている場合、別のリクエストからいずれかのキーを読み取ろうとすると、 workerprocessがテストで見つかったと言いました。 100個のエントリ全体をアクティブなworkerprocessメモリ空間に取り込み、リクエストによって実際に要求されたキーを提供します。それは本当ですか?

誰かが私がこの点で私の混乱を取り除くのを手伝ってくれるなら、大いにありがたいです。

ありがとう!

4

2 に答える 2

3
  1. StateServerはセッション状態のみをサポートします。アプリケーション状態はAppDomainに制限されます。

  2. StateServerは、セッションのシリアル化を格納します。特定のキー値にアクセスする方法を知る方法はありません。アクセスされると、セッションはそれを必要とするアプリケーションに再水和され、リクエストの期間中、通常のセッションデータとして使用されます。

于 2009-06-18T10:23:36.743 に答える
0
  1. 私の知る限り、アウトプロセス状態サーバーはHttpApplicationStateデータを保存しません。これを簡単にテストして確認することはできますが、そうなるとは思えません。

  2. これも真実ではないと思います。セッションストアは基本的にハッシュテーブルです。ハッシュテーブルで単一のキーを検索すると、関連付けられた値のみが返されます。あなたが説明する振る舞いを見るべきではありません。繰り返しますが、これは簡単にテストできるはずです。

于 2009-06-18T10:20:23.193 に答える