【问题标题】:Best way to have a live readable config file in Asp.Net在 Asp.Net 中拥有实时可读配置文件的最佳方式
【发布时间】:2008-10-09 15:27:03
【问题描述】:
我需要调整一些变量(仅在开发设置中),而不必重新启动 IIS 或任何东西(所以我认为 Web.Config 是放置它们的错误位置)。像我说的那样,在 IIS 运行时,放置大约 500 个必须为每个请求读取并写入的配置设置最简单的地方是哪里?
编辑:就像我说的,这只是为了一些 Q&D 开发,所以我不关心任何方面的性能。数据库有点矫枉过正(并且可能比我想要处理的工作更多),我想要一些快速的东西(比如设置),我不必担心解析并且可以读取和写入。如果我使用 XML,我应该将文件写入哪里,这样我就不必花时间弄乱权限了?
【问题讨论】:
标签:
c#
asp.net
configuration-files
【解决方案2】:
为每个请求读取 500 个配置设置?我会将它们放在数据库中,以便可以对它们进行索引和缓存。一个单独的 XML 或数据文件也很可能由 Web 服务器缓存在内存中,但仍然无法提供索引数据库表可以提供的性能。但这取决于您访问设置的方式。
【解决方案3】:
您可以制作自己的“配置”文件。只是不要将其命名为 .config。然后您可以像阅读文本文件一样阅读它并设置所有属性。只需实现您自己的文件监控类或知道文件已更改的内容,以便您可以更新代码。
【解决方案4】:
拥有这么多配置选项的数据库系统,加上一些经过深思熟虑的缓存很可能是总体上最好的主意!
您必须确保还考虑加载/存储它们对所有请求的影响,即使值很小,也可能是大量开销。 SO 缓存将非常重要。
【解决方案5】:
我知道你说过你不想要数据库,但是有 500 个设置,这似乎是最好的解决方案。
也就是说,如果您真的不想要数据库,您可以随时将它们转储到本地存储的 xml 文件中,并在需要时读取/写入。