IIS 配置错误 - 此配置部分不能用于此路径

IIS Config Error - This configuration section cannot be used at this path

当我尝试 运行 我的网站时出现以下错误。

网站托管在 Windows 2012 R2。

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

明确设置

错误代码:0x80070021

配置来源:

 60:     <httpErrors errorMode="Detailed" />
 61:     <handlers>
 62:       <remove name="ExtensionlessUrlHandler-Integrated-4.0" />

以下是我尝试过的所有内容:

  1. 在 IIS
  2. 中使用 "Add features and roles" 安装了 .Net 3.5
  3. 我在 applicationHost 文件中做了以下代码更改:

    更改部分处理程序、模块、anonymousAuthentication、basicAuthentication 等 overrideModeDefault 从 "Deny" 到 "Allow"。

  4. 已在 .Net 3.5 和 4.5 中完成 "HTTP Activation"。

下面是我的网络配置文件处理程序代码:

<handlers>
  <remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
  <remove name="OPTIONSVerbHandler"/>
  <remove name="TRACEVerbHandler"/>
  <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
</handlers>
  1. 在此路径中安装了功能 windows 中的所有功能: Internet 信息服务 --> 万维网服务 --> 应用程序开发功能 --> 除 CGI 之外的所有功能都已启用。

  2. 在功能委托中 ASP 之前是只读的,我已经将其更改为 Read/Write

  3. 使用命令提示符解锁处理程序

但我仍然无法摆脱这个错误。 我的本地实例运行良好。另外,我有一个开发服务器,这个网站正在运行,只有在我的生产服务器上我才会收到这个错误。

请帮我找出可能导致此问题的原因。

我认为更好的方法是您必须从 web.config 中删除您的配置。在服务器上发布你的代码,直接从IIS服务器界面做你想删除的。

多亏了这个方法,如果你成功地做了你想做的事,你只需要得到 web.config 并比较差异。之后你只需要 post 这个 post 中的解决方案 :-P.

按照以下步骤解锁 parent 级别的处理程序:

1) 在连接树中(在 IIS 中),转到您的服务器节点,然后转到您的网站。

2) 对于网站,在右侧 window 您将在管理下看到配置编辑器。

3) 双击配置编辑器。

4) 在打开的 window 中,您会在顶部找到部分的下拉菜单。从下拉列表中选择 "system.webServer/handlers"。

5) 在右侧,还有一个下拉菜单。选择"ApplicationHost.Config "

6) 在最右侧的窗格中,您会在 "Section" 标题下找到 "Unlock Section"。点击那个。

7) 解锁 applicationHost 的处理程序后,您的网站应该 运行 正常。

这对我有用,我的新笔记本电脑也有类似的问题 windows 10.

  • 搜索 "Turn windows features on or off"
  • 勾选"Internet Information Services"
  • 勾选"World Wide Web Services"
  • 勾选"Application Development Features"
  • 启用此
  • 下的所有项目

再试一次,现在应该可以了。

我的项目文件夹中有一个 applicationhost.config。似乎 IISExpress 使用了这个文件夹,尽管它在我的 c:\users 文件夹中显示了一个不同的文件

.vs\config\applicationhost.config

大多数 IIS 部分 are locked by default but you can "unlock" them by setting the attribute overrideModeDefault from "Deny" to "Allow" for the relevant section group by modifying the ApplicationHost.config 文件位于 %windir%\system32\inetsrv\config 管理员模式下

单击您的项目属性,转到 Web 部分,从服务器部分,将 IIS express 更改为本地 IIS,它将为您创建一个虚拟目录

我遇到了这个线程并通过以下步骤解决了问题,我的问题可能有所不同。希望这可以帮助某人。

中打开和关闭 windows 功能 导航到服务器角色和 select 下面提到最少的项目。

干杯!

当我尝试这些步骤时,我不断收到错误消息:

  1. 搜索 "Turn windows features on or off"
  2. 勾选"Internet Information Services"
  3. 勾选"World Wide Web Services"
  4. 勾选"Application Development Features"
  5. 启用此
  6. 下的所有项目

然后我查看了事件查看器并看到了这个错误:Unable to install counter strings because the SYSTEM\CurrentControlSet\Services\ASP.NET_64\Performance key could not be opened or accessed. The first DWORD in the Data section contains the Win32 error code.

为了解决我在注册表中手动创建以下条目的问题:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ASP.NET_64\Performance

并遵循以下步骤:

  1. 搜索 "Turn windows features on or off"
  2. 勾选"Internet Information Services"
  3. 勾选"World Wide Web Services"
  4. 勾选"Application Development Features"
  5. 启用此
  6. 下的所有项目

以下是对我有用的:

  1. 在 IIS 中单击根注释“LAPTOP ____**”。
  2. 从中间托盘中显示的选项,单击底部的配置编辑器。
  3. 在顶部下拉列表中 select“系统。webServer/handlers”。
  4. 右侧 window 部分解锁部分。