web.config中的谨慎守护元素

时间:2013-12-17 17:11:09

标签: asp.net azure configuration

背景信息:

我在Azure(共享主机)上托管了一个公共网站。昨天,我没有任何改变,该网站开始抛出以下错误消息:

  

处理您的请求时发生异常。另外,   执行自定义错误页面时发生另一个异常...

在一个痛苦的故障排除部分之后,我意识到问题出在我的web.config的以下部分。

    <system.data>
       <DbProviderFactories>
           <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" ..... />
       </DbProviderFactories>
    </system.data>

Azure必须将我的实例重新定位到另一台已经在machine.config中定义了此MySQL数据提供程序的主机,并且重复的配置条目最终取消了整个网站。

我本可以使用 clear Remove 标记来绕过错误,但事实证明,我不再需要MySQL功能,所以我只是删除了条目完全解决问题。

这是我的问题: 使用第三方服务,我无法控制machine.config设置。昨天证明我不能假设他们将永远是他们现在的样子。我已经看到通常的做法是在连接字符串部分中使用删除标记,以防止在层次结构中的其他位置已经定义了所需连接字符串的情况。所以还有另一个例子,通过添加删除标记来明确付出代价。

我正在寻找的是web.config中一个有点全面的标签列表,应该使用 remove clear 标签来防范这些标签来自配置源的无法预料的重复标签。我们无法控制。

0 个答案:

没有答案