web.config自动缓存

时间:2009-07-21 17:47:21

标签: asp.net caching web-config

我在web.config文件中有自定义配置部分。我徘徊在:

  1. 每当我需要任何配置值时,将它读入静态类(因为我猜这个系统在打开文件时已经缓存了文件(例如,当我运行Word时,它第一次需要更长时间,连续打开时需要更少))
  2. 将它读入静态类并使用具有文件依赖性的Application.Cache缓存并使用缓存数据 - 我想这样会更快一些,但是值得麻烦。
  3. 您如何看待自动文件(打开时)缓存...

3 个答案:

答案 0 :(得分:8)

编写自定义配置部分并使用ConfigurationManager.GetSection

.NET负责缓存此操作,并在每次更改web.config文件时失效。

答案 1 :(得分:3)

从web.config读取值非常非常快。 ConfigurationManager针对此目的进行了高度优化。如此快,以至于在Session,Cache等中存储值几乎没有收获。但是,如果在web.config中存储设置,则更改该值会重新启动应用程序,但如果您使用了缓存,则旧的缓存值仍然存在......所以不要。只需在需要时读取web.config中的值即可;在标准的笔记本电脑上,我能够每秒读取超过600,000次的web.config设置而没有问题。

答案 2 :(得分:2)

AFAIK,配置文件在使用System.Configuration.ConfigurationManager时已经缓存在内存中。

更改web.config / app.config需要重新启动应用以获取更改的原因之一