如何确定哪个父配置文件锁定了web.config的设置?

4
当我在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。
2个回答

4

我还没有找出如何确定哪个文件锁定了给定的设置,但是如果您选择IIS中的顶级节点(应该是您的计算机名称),然后打开功能委派,状态栏将显示“配置:'localhost' root web.config”或类似的内容。

从这里,您可以修改在子级别上锁定哪些设置。

IIS中的功能委派


0

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接