我正在使用 ConfigurationManager.AppSettings 集合从 ASP.NET 应用程序中的 Web.config 文件中检索配置值。有谁知道 AppSettings 中的值是否以某种方式缓存在内存中,或者每次检索设置时是否都会读取 Web.config 文件?
string someValue = ConfigurationManager.AppSettings["SomeSetting"];
谢谢
我正在使用 ConfigurationManager.AppSettings 集合从 ASP.NET 应用程序中的 Web.config 文件中检索配置值。有谁知道 AppSettings 中的值是否以某种方式缓存在内存中,或者每次检索设置时是否都会读取 Web.config 文件?
string someValue = ConfigurationManager.AppSettings["SomeSetting"];
谢谢
它们是从内存中获取的,因为 web.config 在应用程序启动时只读取一次。
但是,ASP.NET 监视 web.config 文件以检测和加载更改
重要的是要意识到在我们第一次检索设置值时会读取、解析和缓存整个部分。从那时起,所有设置值的请求都来自内存缓存,因此访问速度非常快,并且不会产生任何后续访问文件或解析 XML 的开销。
欲了解更多信息:
http://weblogs.asp.net/stevewellens/archive/2011/01/15/web-config-is-cached.aspx