6
IIS 7でASP.NETキャッシュを管理する方法と場所はどこですか?私はそれがサーバーのメモリに格納されていることを知っていますが、それを管理するプロセスは何ですか? w3wp.exeのアドレス空間にあるのですか、それとも別のプロセス/場所にありますか?また、セッションデータはキャッシュを使用していますか、またはセッションの動作は異なりますか?ASP.NETキャッシュの場所
IIS 7でASP.NETキャッシュを管理する方法と場所はどこですか?私はそれがサーバーのメモリに格納されていることを知っていますが、それを管理するプロセスは何ですか? w3wp.exeのアドレス空間にあるのですか、それとも別のプロセス/場所にありますか?また、セッションデータはキャッシュを使用していますか、またはセッションの動作は異なりますか?ASP.NETキャッシュの場所
web.config
にセッションデータが格納される場所をsessionState elementに設定します。 InProc
に設定されている場合、アプリケーションのアプリケーションプールに対応するw3wp.exe
プロセスのメモリに保存されます。たとえば、SQL Serverインスタンスに格納することもできます。
この要素が設定ファイルに定義されていない場合は、ターゲットフレームワークのバージョン/アーキテクチャについてマシンレベルweb.config
をチェックしてください。
あなたは正しくありがとうございます。私は自分の掘り出し物を(反射板を介して)同様にして、より多くの情報を思いついた。主なASP.NET Cacheオブジェクト(最終的に)は、マネージハッシュテーブルとして実装されます。私が途中で期待していたCOMブードゥーはありません。すべてのASP.NETキャッシュが管理コードで行われているように見えます。つまり、すべてのキャッシュオブジェクトはw3wp.exeのアドレス空間に格納されています。 –
これをさらに裏づけるために、私はいつも、アプリケーションプールをリサイクルすると 'HttpContext.Cache'から項目を追い出すと考えてきました。私はサポート情報を見つけることができませんでしたが、それは 'w3wp.exe'の対応するインスタンスにメモリに格納されていると信じています。 – wsanville
ええ、サポート情報は、キャッシュがHashTableとして保存されていることです(System.Web.Caching.CacheSingleクラスを参照)。アンマネージドコードはまったくありません。今我々は両方知っている。 :) –