【问题标题】:Override machine.config with web.config用 web.config 覆盖 machine.config
【发布时间】:2010-12-31 05:24:27
【问题描述】:

我最近决定将我的连接字符串移动到 machine.config,因为这似乎是迄今为止管理多个环境的最优雅的方法。但是,如果需要(或者不开明的大众开始抱怨),我仍然希望能够在我的本地 web.config 中覆盖这些设置。

如何在我的 web.config 中覆盖 machine.config 中的设置而不获得 ConfigurationErrorsException,因为该值已设置?

【问题讨论】:

    标签: .net configuration web-config machine.config


    【解决方案1】:

    如果您尝试使用与您在 machine.config 中添加的名称相同的本地 web.config 添加另一个连接字符串,则需要先将其删除。 connectionStrings 元素像字典一样工作,您可以在添加替换字符串之前添加删除或清除标记。详情请查看this

    【讨论】:

    • 好的,感谢对我有意义。基本上它们被合并为应用程序的一个全局配置,所以我试图做的实际上是不可能的。
    • 如果你试图做的事情是不可能的,那么我一定是误解了这个问题。如果内存够用,SQL Server Express 在 machine.config 中创建一个名为“Local Server”之类的连接字符串,然后可供每个应用程序使用,因为正如您所说,配置在运行时出现合并。要覆盖 SQL 的连接字符串,您可以在 web.config 中添加 标记,然后使用新配置添加
    • 是的,我误会了。当您阅读文档时它会有所帮助;)我现在明白了。谢谢,这是完美的。
    猜你喜欢
    • 1970-01-01
    • 2020-04-05
    • 2012-08-07
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 2011-02-27
    • 1970-01-01
    相关资源
    最近更新 更多