2009-07-21 163 views
1

我在web.config文件中有自定义配置节。我之间徘徊:web.config自动缓存

  1. 它的每一次读入静态类,当我需要的任何配置值(因为我想,当我打开它们(例如该系统已经缓存文件,当我运行Word需要更长的时间第一时间和少得多的连续打开))
  2. 将它读入静态类,并使用具有文件依赖性和使用缓存数据的Application.Cache对其进行缓存 - 我认为这样会更快一些,但值得一提。

您如何看待汽车的文件(开放式)高速缓存什么...

回答

8

编写自定义配置节和使用ConfigurationManager.GetSection

.NET注意到这个缓存的照顾,每当在web.config文件被更改无效。

+1

+1感谢您的确认。 – 2011-01-14 13:10:52

2

据我所知,配置文件已经在内存使用System.Configuration.ConfigurationManager缓存时长。

只是一个原因,改变一个web.config /的app.config需要一个应用程序重新拿起改变从web.config中

3

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

+1

还不完全。如果应用程序重新启动,则应用程序关闭时缓存值也会“丢弃”。 – 2009-07-21 18:04:50