我有一个简单的webAPI构建Visual Studio 2013。当我从VS13运行它时,它工作得很好,但当我在本地IIS中复制项目时,它给了我以下错误。

HTTP错误500.19 -内部服务器错误不能被请求的页面 访问,因为该页的相关配置数据为 无效的。

详细错误信息:

模块IIS Web核心

通知BeginRequest

处理人尚未确定

错误码0x80070021

配置错误该配置项不能在该路径下使用。当section被锁定在父级时,就会发生这种情况。锁定是默认的(overrideModeDefault="Deny"),或者由overrideMode="Deny"或遗留的allowOverride="false"的位置标记显式设置。

配置文件\?\C:\inetpub\wwwroot\APITeslin\web.config

配置来源:

36:   <system.webServer>  
37:     <handlers>  
38:       <remove name="ExtensionlessUrlHandler-Integrated-4.0" />

当前回答

今天在Windows 2016核心服务器上,我通过确保GIOESCOM提到的组件安装来解决这个问题,然后我修复了我的情况下的SDK,用于. net Core 3.1, . net 5和. net 6,解决了这个问题。NET 4.7.2 MVC web应用程序工作。

其他回答

在win2016框中将IIS7迁移到iis10时,我得到了错误代码0x80070021。 下面的步骤帮助我修复它。 源

手动将以下设置的值从“拒绝”更改为“允许”

%windir%\system32\inetsrv\config\ applicationHost.config

下一节:system.webServer

<section name="handlers" overrideModeDefault="Deny" />

我也遇到了同样的问题,但在与IIS和谷歌头脑风暴了好几个小时后。我找到解决办法了。 此错误是因为在IIS applicationHost.config中禁用了某些设置。

以下是解决方案的步骤:

打开C:\Windows\System32\inetsrv\config\applicationHost。配置并在记事本打开 中显示的下列键值 <section name="handlers" overrideModeDefault="Deny" />将此值从"Deny"更改为"Allow" <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> 将此值从“Deny”更改为“Allow”

这对我很管用。

在我的情况下,有IIS URL重写模块的规则,但我没有安装该模块。你应该检查你的网络。配置,如果有任何模块包括但没有安装。

在Windows 8.1或10上包含。net框架4.5或以上,如下所示

今天在Windows 2016核心服务器上,我通过确保GIOESCOM提到的组件安装来解决这个问题,然后我修复了我的情况下的SDK,用于. net Core 3.1, . net 5和. net 6,解决了这个问题。NET 4.7.2 MVC web应用程序工作。