我在Microsoft文档中的某处读到了ASP.NET的web.config的内容被缓存.如果这是真的,它在哪里缓存 – 在内存中还是在磁盘上?
还有一个后续问题:如果我必须密集访问web.config,是否需要进行任何性能考虑?
解决方法
它缓存在内存中,在磁盘上缓存没有任何意义,它已经在磁盘上.
首先,在ASP.NET中,您希望确保通过HttpContext对象的GetSection方法访问配置节(这使用ASP.NET管理的缓存副本).
访问配置值的性能是Section对象(GetSection返回的对象)的内部实现的函数. ConfigurationSection可以简单地充当DOM节点的包装器,它可以在每次请求属性时读取.除此之外,它可以内部缓存价值并注意变化.
我的建议是保持你的代码简单,只需通过GetSection访问你需要的值,而不是试图在其他地方保存它们的副本,但是如果你要去,请务必在请求期间保持对GetSection返回的对象的引用从中获取多个值.