应用程序启动后,如何从web.config中读取值?

时间:2013-03-08 20:21:46

标签: c# asp.net web-config

我很好奇web.config是如何加载到应用程序中的,是对web.config中实际解析web.config文件的值的任何引用,或者在应用程序启动时它将值加载到单例或其他内容中?

我想到了这一点,因为我想在global.asax.cs中根据请求检查web.config中的值:

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


    }
}

2 个答案:

答案 0 :(得分:4)

当应用程序首次收到请求时,将解析配置文件并加载其设置。然后缓存这些设置,以便任何后续调用都不需要重新解析配置文件。这就是为什么当配置文件被更改时,应用程序重新启动并再次重新编译。

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

答案 1 :(得分:3)

在应用程序启动期间,配置会反序列化为相应的ConfigurationSection类型。

这些通常使用只读属性实现,因此它们确实可以在单例中使用。