C# 应用程序启动后,如何从web.config读取值?
我很好奇web.config是如何加载到应用程序中的,对web.config中的值的任何引用实际上是在解析web.config文件,还是在应用程序启动时将这些值加载到一个单例或其他文件中 当我想在global.asax.cs中按请求检查web.config中的值时,我想到了这一点:C# 应用程序启动后,如何从web.config读取值?,c#,asp.net,web-config,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.AppSetting
protected void Application_BeginRequest(object sender, EventArgs e)
{
if( ConfigurationManager.AppSettings["abc"] != null)
{
}
}
在应用程序启动期间,配置被反序列化为相应的类型
这些通常是用只读属性实现的,因此它们确实可以在单例中使用。当应用程序第一次收到请求时,会解析配置文件并加载其设置。然后缓存这些设置,以便任何后续调用都不需要重新解析配置文件。这就是为什么在更改配置文件时,应用程序会重新启动并重新编译
也不是,我的意思是,它们是生成的配置节类型类,它们非常快,对吗?i、 e.没有为每次查找查找配置文件?@user1361315-它们不会生成。它们已经存在-实例在启动时填充,这就是查询。因此,文件在启动时只读取一次。