每次检索web.config值时,您是否将磁盘"命中"?

Pet*_*lke 3 asp.net performance caching web-config

我经常调用以下代码行:

var configValue = System.Configuration.ConfigurationManager.AppSettings["ConfigValueKey"]; 
Run Code Online (Sandbox Code Playgroud)

我是否从ASP.Net获取磁盘来从web.config中检索项目,或者它是否足够智能以将值缓存在内存中并仅在web.config更改时刷新缓存?

Kan*_*kan 7

它足够聪明,可以缓存所有属性.


Dan*_*elo 5

配置数据保存在内存中.但是,ASP.NET将监视web.config中的更改,并在文件更改时回收应用程序域.

除此之外,所有用户会话都将丢失,这就是为什么在应用程序运行时触摸web.config并不是一件好事.

  • 只有在使用会话进程时,会话数据才会丢失.如果您使用的是会话服务器或SQL会话,则不应该出现此问题. (5认同)