【问题标题】:Why is it a bad idea to save dynamic data in web.config?为什么在 web.config 中保存动态数据是个坏主意?
【发布时间】:2011-02-24 22:51:43
【问题描述】:

我的公司有一个应用程序,它以编程方式在 web.config 文件中存储一个值。 web.config 文件大约每五分钟更新一次。

James Curran 在此答案 Dynamically change connectionString in web.config 中发帖称,以编程方式修改 web.config 是一个坏主意,但他没有解释为什么这是一个坏主意。

我正在寻找理由说服我的老板不要在 web.config 文件中存储任何动态数据。好的文章的链接将特别感谢。

【问题讨论】:

    标签: asp.net web-services


    【解决方案1】:

    对于初学者来说,每次修改 web.config 时应用程序都会重新启动。

    【讨论】:

    • 这确实是您需要的唯一原因。
    • 我正在苦苦挣扎的是,即使没有,为什么这会很好?如果出于某种原因必须在文件系统中存储数据,为什么不直接使用另一个文件?
    • 之所以使用 web.config 来存储数据是因为 .Net 很容易做到这一点。
    • 我会去找你的老板,并建议在你到目前为止争论的时间里,你可以编写读/写另一个文件所需的两行代码:)
    【解决方案2】:

    这是个坏主意,因为每次修改配置文件时,Web 应用程序都会重新启动。此外,如果您使用的是“网站”项目,每次修改配置时也会编译它。因此,您将遇到性能和响应问题。你老板可能不希望这样:)

    【讨论】:

      【解决方案3】:

      除了重新启动应用程序之外,您的 Web.config 文件中还存储了几个与安全相关的值。您的应用程序甚至不应该对该文件具有写入权限。

      【讨论】:

        【解决方案4】:

        主要风险是允许 Web 服务器进程写入根文件夹中的文件或 *.config 文件。 这看起来像是一个重大的安全漏洞。

        如果拥有此任务的用户未授予对 Web 服务器的写入权限,您可以做一个常规任务修改 web.config 文件。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-08-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-01-31
          相关资源
          最近更新 更多