首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缓存WebConfigurationManager.AppSettings?

缓存WebConfigurationManager.AppSettings?
EN

Stack Overflow用户
提问于 2010-11-29 05:47:47
回答 2查看 2.4K关注 0票数 13

我有很多读取Web配置文件的请求

代码语言:javascript
复制
variable = WebConfigurationManager.AppSettings["BLAH"]

WebConfigurationManager.AppSettings是每次都从磁盘读取,还是缓存在内存中?

如果每次都从磁盘读取,那么我想我需要将变量移动到一个静态变量,以提高我的应用程序性能。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-29 05:48:40

配置设置缓存在内存中,并不是每次调用此函数时都会解析web.config。

票数 18
EN

Stack Overflow用户

发布于 2012-07-01 23:38:48

我只是在研究这个话题。并且配置设置确实被高速缓存在存储器中。

但是,通过将值存储在您提到的静态变量中(以及here中描述的),您仍然可以看到性能上的好处。这是因为AppSettings集合是一个NameValueCollection。因此,每次引用AppSetting时,它都必须搜索集合,这是一个O(n)操作。

尽管如此,这可能是一件罕见的事情,这可能会成为您的应用程序的瓶颈。但是可以想象这样一种场景:在AppSettings集合非常大的情况下,紧凑的循环引用AppSettings中的单个值。在这种情况下,您也可以以某种方式缓存值,即使它只是在开始循环之前将其存储在局部变量中。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4299282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档