ASP.NET:web.config在哪里/如何缓存?

spl*_*tne 7 asp.net caching web-config

我在Microsoft文档中的某处读到了ASP.NET的web.config的内容被缓存.如果这是真的,它在哪里缓存 - 在内存中还是在磁盘上

还有一个后续问题:如果我必须密集访问web.config,是否需要进行任何性能考虑?

Ant*_*nes 8

它缓存在内存中,在磁盘上缓存没有任何意义,它已经在磁盘上.

首先,在ASP.NET中,您希望确保通过HttpContext对象的GetSection方法访问配置节(这使用ASP.NET管理的缓存副本).

访问配置值的性能是Section对象(GetSection返回的对象)的内部实现的函数.A ConfigurationSection可以简单地充当DOM节点的包装器,它可以在每次请求属性时读取.除此之外,它可以内部缓存价值并观察变化.

我的建议是保持你的代码简单,只需访问你需要的值,GetSection而不是试图在其他地方保存它们的副本,但是GetSection如果要获取多个,请务必保持对请求持续时间内返回的对象的引用来自它的价值观.


小智 5

在ASP.NET中,<appSettings>部分在第一次访问后缓存到内存:

  • http://msdn.microsoft.com/en-us/library/aa478432.aspx
  • http://weblogs.asp.net/stevewellens/web-config-is-cached

如果有web.config文件的更新,ASP.NET将重新启动应用程序.