2011-07-13 14 views
3

reauestsと応答を記録するHTTPModuleを作成しました。
httpモジュールにweb.configにどのように作業するかを知らせるパラメータ。
しかし、httpモジュールがパラメータの最新の値を処理させるためには、各リクエストごとにapp.configからパラメータを読み込みます。detect web.configが変更されました

web.configの変更を検出する方法はありますか?レスポンスがあるたびにhttpモジュールのパラメータを読み込む代わりに、読み込むことはできますか?

答えて

7

これはまったく必要ありません。これらのプロパティは一度だけロードしてどこかに格納することができます。 web.configが変更されるたびに、ASP.NETアプリケーションが再起動され、httpモジュールが再び初期化する必要があります。

+1

はい、とも私はそれは、web.configファイルは、パラメータ値を要求するたびの解析を行っていないと思うが、それは反対のConfigurationManagerから読んでもパフォーマンスのヒットはありませんので、基本的には(キャッシュされた値を使用します値をキャッシュする) – veljkoz

+0

それは単に真実ではありません。 web.configを変更してもアプリケーションが終了しない場合は、さまざまな方法があります。私はこれらの状況の1つを現在トラブルシューティングしています。 –

+0

@ソニックソウル:私はあなたのシナリオについてお読みになります。 –

2

@Ladislav & @velijozが正しいです。 web.configは一度読み込まれ、値はweb.configが変更されたなど、アプリケーションが再起動されるまでメモリに保存されます。

もちろん、ファイルを直接開いて読んでいる場合を除きます。それは悪いことです。

設定が定期的に変更された場合は、別のファイルに設定して値を読み取り、ファイルにキャッシュの依存関係を設定してキャッシュに保存することができます。そうすれば、毎回アプリを再起動せずに設定を変更することができます。設定ファイルを変更すると、キャッシュの依存関係によってキャッシュが無効になり、コードがファイルを再度読み取る可能性があります。

サイモン

関連する問題