2012-04-09 15 views
6

IIS 7でASP.NETキャッシュを管理する方法と場所はどこですか?私はそれがサーバーのメモリに格納されていることを知っていますが、それを管理するプロセスは何ですか? w3wp.exeのアドレス空間にあるのですか、それとも別のプロセス/場所にありますか?また、セッションデータはキャッシュを使用していますか、またはセッションの動作は異なりますか?ASP.NETキャッシュの場所

答えて

3

web.configにセッションデータが格納される場所をsessionState elementに設定します。 InProcに設定されている場合、アプリケーションのアプリケーションプールに対応するw3wp.exeプロセスのメモリに保存されます。たとえば、SQL Serverインスタンスに格納することもできます。

この要素が設定ファイルに定義されていない場合は、ターゲットフレームワークのバージョン/アーキテクチャについてマシンレベルweb.configをチェックしてください。

+0

あなたは正しくありがとうございます。私は自分の掘り出し物を(反射板を介して)同様にして、より多くの情報を思いついた。主なASP.NET Cacheオブジェクト(最終的に)は、マネージハッシュテーブルとして実装されます。私が途中で期待していたCOMブードゥーはありません。すべてのASP.NETキャッシュが管理コードで行われているように見えます。つまり、すべてのキャッシュオブジェクトはw3wp.exeのアドレス空間に格納されています。 –

+0

これをさらに裏づけるために、私はいつも、アプリケーションプールをリサイクルすると 'HttpContext.Cache'から項目を追い出すと考えてきました。私はサポート情報を見つけることができませんでしたが、それは 'w3wp.exe'の対応するインスタンスにメモリに格納されていると信じています。 – wsanville

+0

ええ、サポート情報は、キャッシュがHashTableとして保存されていることです(System.Web.Caching.CacheSingleクラスを参照)。アンマネージドコードはまったくありません。今我々は両方知っている。 :) –

関連する問題