HttpRuntime.Cache
に格納されているすべてのユーザーに共通のデータがあります。セッションに格納される値は、HttpRuntimeキャッシュの値に依存します
次に、セッションに保存されているユーザー関連のデータがあります。
HttpRuntime.Cache
CacheDependency
キャッシュを持つアイテム間の関係を定義するために使用できるメカニズム。
セッションとランタイムキャッシュの依存関係を処理するために使用するものは何ですか?
CacheDependenciesに加えて、CacheItemRemovedCallback
もあります。可能であれば、このコールバック中に各セッションから特定の値を削除することができます。
はい、私はキャッシュの依存性の目的を知っています。私は、セッションとキャッシュの間の依存関係を処理できるものと似たものがあるかもしれないと考えました。しかし、MAYBEでは、ユーザー関連のデータをセッションからランタイムキャッシュに格納された辞書またはハッシュテーブルに移動するのが最も簡単な方法です。 –
@Radex:はい、依存するオブジェクトにユーザー依存のデータを格納する方が簡単かもしれません。 'Session_End'イベントからユーザのデータを取り除くことができるように、ユーザデータが存在するオブジェクトへの参照のコレクションを保持したいかもしれません。 Webアプリケーションはマルチスレッドであるため、異なるユーザーからアクセスされるすべてのオブジェクトへのアクセスを同期させる必要があります。 – Guffa