我有一个简单的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 8.1或10上包含。net框架4.5或以上,如下所示

其他回答

正如错误所指出的那样-“当段被锁定在父级时发生这种情况”。要解锁该部分,您可以使用appcmd.exe并执行以下命令:

%windir%\system32\inetsrv\appcmd.exe unlock config -section:system.webServer/handlers -commitpath:apphost

有关区段锁定和父配置上下文的更多信息,请参阅IIS文档。

对我来说有效的解决方案是删除我当前的网页。配置并添加一个新的。这为我解决了问题

在Windows 8.1和iis8.5上,我的解决方案是从控制面板注册4.5:

程序和功能>打开或关闭Windows功能>信息信息服务>万维网服务>应用程序开发功能>选择ASP。NET 4.5

单击OK。

检查IIS服务器是否安装了URL重写功能。 如果没有安装,请确保您的web。配置文件没有URL重写相关配置

<!-- Make sure don't have below config, if server have not installed url rewrite feature. -->
<rewrite>
  <rules>
    <rule name="Fail bad requests">
      <match url=".*"/> ...

有时我们从旧服务器复制配置,然后直接部署到全新的服务器,然后我们可能会遇到这样的500问题。

该路径下不能使用该配置段。当section被锁定在父级时,就会发生这种情况。默认情况下锁定(overrideModeDefault= " Deny ")

你好男人

旧的IIS和服务器

当我们想要在新的Microsoft Windows Server 2016上构建的iis10上运行应用程序时,可能会遇到以下错误。

HTTP错误500.19 -内部服务器错误

无法访问请求的页面,因为该页的相关配置数据无效。

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

在您的计算机上按照C:\Windows\System32\inetsrv\config文件路径操作。将applicationHost配置文件中的overrideModeDefault= " Deny "部分更改为" Allow "。然后,当您重新启动IIS时,问题将得到解决。