代码之家  ›  专栏  ›  技术社区  ›  RandomProgrammer

如何迁移web.config?

  •  3
  • RandomProgrammer  · 技术社区  · 15 年前

    情况

    我们使用迁移来更新Web应用程序所有部署的数据库模式和配置文件。现在,迁移web.config时出现问题。

    当前实施

    迁移过程执行以下操作:

    1. 打开数据库连接
    2. 将配置从web.config读取到配置对象中
    3. 检索所有迁移
    4. 迭代迁移
      1. 更新数据库架构(数据库连接作为参数传递)
      2. 更新配置对象(配置对象作为参数传递)
    5. 保存配置对象
    6. 关闭数据库连接

    当然,有很多代码可以确保迁移不会在出错时把事情搞砸。别担心。另外,保存配置后重新启动Web服务器也不是问题。

    问题

    问题是,似乎不可能通过配置对象对web.config进行某些更改。比如添加一个位置。

    可能的解决方案

    我现在的想法是不传递配置对象,而是将*.config文件作为XML文档的字典。然后,迁移可以更改原始XML。

    担忧

    对于这种方法,我并不太在意,因为配置对象会进行一些配置数据完整性检查。使用原始XML时,此功能将丢失。

    问题

    这是最好的方法吗?

    3 回复  |  直到 15 年前
        1
  •  2
  •   Saar    15 年前

    我不会考虑“最佳批准”。这是一个持续的改进。

    我将验证XML文档字典的完整性。

        2
  •  1
  •   Community CDub    7 年前

    是的,一个答案是直接使用XML,或者按照讨论的方式反射。 here . 最后,“做最简单的可能有效的事情”…

        3
  •  0
  •   Community CDub    7 年前

    有几种选择:

    1. 使用Windows窗体程序修改web.config(这是我们采用的方法)

    2. 请参阅以下文章: How do you modify the web.config appSettings at runtime?

    现在更改web.config可能会重新启动应用程序域。但是,您可以通过禁用运行时扫描来停止该操作。