代码之家  ›  专栏  ›  技术社区  ›  Robert Koritnik

web.config自动缓存

  •  1
  • Robert Koritnik  · 技术社区  · 15 年前

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

    1. 每次需要任何配置值时都将其读取到静态类中(因为我猜系统在打开文件时已经缓存了文件(例如,当我运行Word时,第一次打开的时间更长,而连续打开的时间更短))。
    2. 将它读取到静态类中,并使用application.cache和文件依赖项以及缓存的数据对其进行缓存-我认为这样做会更快一些,但值得一费周折吗?

    你觉得自动文件缓存(打开时)怎么样…

    3 回复  |  直到 15 年前
        1
  •  8
  •   Ramesh César Landesa    15 年前

    编写自定义配置节并使用configurationmanager.getsection

    .NET负责缓存此文件,并在web.config文件更改时使其失效。

        2
  •  3
  •   Keith Adler    15 年前

    从web.config读取值非常非常快。为此,配置管理器进行了高度优化。如此之快,在会话、缓存等中存储该值几乎没有任何好处。但是,如果在web.config中存储设置,更改该值将重新启动应用程序,但如果使用缓存,旧的缓存值仍将存在…所以不要这样做。只要在需要的时候从web.config中读取值;在标准笔记本电脑上,我可以每秒读取超过600000次web.config设置,而不会有任何问题。

        3
  •  2
  •   Josh E    15 年前

    只要使用system.configuration.configurationManager,配置文件就已经缓存在内存中。

    更改web.config/app.config只需要重新启动应用程序来获取更改的一个原因