【问题标题】:How can I determine which parent config file is locking a web.config setting?如何确定哪个父配置文件正在锁定 web.config 设置?
【发布时间】:2011-03-15 20:27:50
【问题描述】:

当我在 IIS 中打开我的 ASP.NET 站点并尝试打开 .NET 信任级别时,我收到一条错误消息:


.NET 信任级别 执行此操作时出错。

详情:

文件名:\?\C:\inetpub\wwwroot\myapp\web.config

行号:445

错误:此配置部分不能用于此路径。当该部分锁定在父级别时会发生这种情况。默认情况下锁定 (overrideModeDefault="Deny"),或者由具有 overrideMode="Deny" 或旧版 allowOverride="false" 的位置标记显式设置。


我检查了几个地方,但没有发现任何似乎会锁定该设置的内容。是否有系统的方法来确定该设置的锁定位置?

我使用的是 IIS 7.5 和 .NET 3.5 sp1。

【问题讨论】:

    标签: asp.net web-config iis-7.5


    【解决方案1】:

    我还没有弄清楚如何确切地确定哪个文件锁定了任何给定的设置,但是如果您选择 IIS 中最顶端的节点(它应该是您的机器名称)然后打开功能委派,状态栏将阅读 'Configuration: 'localhost' root web.config' 或类似内容。

    您可以在此处修改在子级别锁定的设置。

    【讨论】:

      【解决方案2】:

      IIS 和 ASP.NET 都支持锁定特定的配置部分。典型的场景是嵌套的配置文件 - 例如,您可能在子目录中有一个配置文件,覆盖了网站级别配置文件中的一些配置设置(在子级别)。所以在这种情况下,父母可以决定允许覆盖配置文件中的哪些部分。我相信这个概念从 2.0 版开始就存在于 ASP.NET 中,而 xml 配置从 IIS 7 开始出现,它也支持类似的情况。

      请参阅this article 以了解 ASP.NET 中的锁定配置部分,并参阅this article 以了解 IIS 中的相同内容。请注意,配置文件层次结构从机器配置和根级别 Web 配置开始 - 因此在不太可能的情况下,您的 Web 配置可能会尝试覆盖这些文件中允许的部分。

      【讨论】:

        猜你喜欢
        • 2010-10-09
        • 1970-01-01
        • 2018-09-07
        • 2017-03-16
        • 1970-01-01
        • 2012-02-11
        • 2012-05-11
        • 2021-02-13
        • 1970-01-01
        相关资源
        最近更新 更多