2013-03-08 7 views
6

web.configがアプリケーションにどのように読み込まれているのか不思議です。web.configファイル内の値を参照しているか、アプリケーションの起動時に値がシングルトンなどにロードされていますか?私はglobal.asax.csでリクエストごとにweb.configファイル内の値をチェックしたかったようアプリケーションが起動すると、web.configからどのように値が読み込まれますか?

は、これが私の心に来た:

protected void Application_BeginRequest(object sender, EventArgs e) 
{ 
    if(ConfigurationManager.AppSettings["abc"] != null) 
    { 


    } 
} 

答えて

4

アプリケーションが最初に要求を受け取ると、設定ファイルが解析され、その設定がロードされます。これらの設定はキャッシュされるので、その後の呼び出しでは設定ファイルを再解析する必要はありません。そのため、設定ファイルが変更されると、アプリケーションが再起動し、再コンパイルされます。私が何を意味するか

http://msdn.microsoft.com/en-us/library/ms178685.aspx#calculating_configuration_settings_at_runtime

+1

また、[ASP.NET構成ファイルの編集](http://msdn.microsoft.com/en-us/library/ackhksh7.aspx) – Brandon

3

設定はにアプリケーションの起動時にデシリアライズされます対応するConfigurationSectionタイプです。

これらは通常読み取り専用プロパティで実装されているため、実際にはシングルトンで使用できます。

+0

いいえ、彼らが生成されます種類のクラスをのConfigurationSection、である、彼らはその後、非常に速く、右ですか?つまり、各ルックアップの設定ファイルを調べていないのでしょうか? – loyalflow

+0

@ user1361315 - これらは生成されません。それらはすでに存在しています。インスタンスは起動時に読み込まれ、これがクエリです。したがって、ファイルは起動時に一度だけ読み込まれます。 – Oded

関連する問題