我在将站点部署到服务器时遇到错误。尝试加载主页或在IIS中的新站点上访问身份验证时,我收到错误:

配置错误:无法在此路径上使用此配置节。当节在父级锁定时,会发生这种情况。锁定是默认情况下(overrideModeDefault=“Deny”),或由具有overrideMode=“拒绝”或旧版的位置标记allowOverride=“false”。

更多细节可以在这里找到,在场景7中匹配我的十六进制错误代码。

上面链接站点上给出的解决方案是在applicationHost.config文件中的错误部分中设置Allow for overrideModeDefault。在我的例子中,在system.webServer中的“安全”下。但如果我查看本地计算机上的applicationHost.config(该站点已正确部署),则该部分设置为“拒绝”。

如果此解决方案是正确的,那么我的本地实例在使用相同的web.config时如何正常运行?根据我的applicationHost.config,该部分应该被锁定,但实际上没有。我宁愿不更改applicationHost.config文件,因为该服务器上还有许多其他站点在运行。还有其他解决方案吗?


当前回答

根据我对类似问题的回答;

尝试在服务器级别解锁相关IIS配置设置,如下所示:

打开IIS管理器在“连接”窗格中选择服务器在主窗格中打开配置编辑器在区段下拉列表中,选择要解锁的区段,例如system.webServer>defaultPath单击右侧窗格中的“解锁属性”对需要解锁的任何其他设置重复上述步骤重新启动IIS(可选)-在“连接”窗格中选择服务器,然后单击“操作”窗格中的“重新启动”

其他回答

1.打开“打开或关闭windows功能”:WinKey+R=>“optionalfeatures”=>确定

在“应用程序开发功能”下启用这些功能

在Win 10上测试过-但可能也会在其他windows版本上运行。

对于Windows Server 2008和IIS 7,过程类似。请参阅:http://msdn.microsoft.com/en-us/library/vstudio/bb763178(v=vs.100).aspx

在添加角色服务中,您将看到“应用程序开发功能”

检查(启用)功能。我检查了所有。

在我的例子中,我遇到了这个错误,因为我使用了错误的配置文件。

我在做这个:

Configuration config = serverManager.GetWebConfiguration(websiteName);
ConfigurationSection serverRuntimeSection = config.GetSection("system.webServer/serverRuntime");
serverRuntimeSection["alternateHostName"] = hostname;

而不是正确的代码:

Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection serverRuntimeSection = configApp.GetSection("system.webServer/serverRuntime", websiteName);
serverRuntimeSection["alternateHostName"] = hostname;

换句话说,我试图在网站的web.config上操作,而不是在全局文件C:\Windows\System32\inetsrv\config\applicationHost.config上操作,该文件有一个(或可以有一个)网站节。我试图更改的设置仅存在于applicationHost.config文件中。

我也有同样的问题。

通过启用应用程序服务器功能解决了此问题。已重新启动iis之后。

我也有同样的问题。不记得我在网上的什么地方找到了它,但下面是我做的:

单击“开始按钮”在搜索框中,输入“打开或关闭窗口功能”在功能窗口中,单击:“Internet信息服务”点击:“万维网服务”单击:“应用程序开发功能”检查(启用)功能。我检查了除CGI以外的所有内容。

顺便说一下,我正在使用Windows 7。多年来,许多评论都证明了这一点,一直到Windows 10和Server 2019。