HTTP错误500.19和错误代码:0x80070021

Uma*_*bas 199 iis asp.net-mvc asp.net-web-api iis-8 asp.net-mvc-5

我有一个由Visual Studio 2013构建的简单webAPI.当我从VS13运行它时效果很好但是当我在本地IIS中复制项目时它会给我以下错误.

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

详细错误信息:

模块 IIS Web核心

通知 BeginRequest

处理程序 尚未确定

错误代码 0x80070021

配置错误 此配置部分不能在此路径中使用.当该部分被锁定在父级别时会发生这种情况.锁定是默认情况下(overrideModeDefault ="Deny"),或由locationMode ="Deny"或遗留allowOverride ="false"的位置标记显式设置.

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

配置来源:

36:   <system.webServer>  
37:     <handlers>  
38:       <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
Run Code Online (Sandbox Code Playgroud)

Ili*_*ski 324

得到了完全相同的错误,并提出了这个问题.正如@SpaceBison在评论中提到的,这个答案描述了解决方案 - /sf/answers/900742741/.我发现它太晚了,它错过了一些步骤.这对我有用:

Windows Server 2012,IIS 8.5.也适用于其他版本.

  • 转到服务器管理器,单击"添加角色和功能"
  • 在角色部分中选择:Web服务器
    • 在安全子部分下选择所有内容(我排除了摘要,IP限制和URL授权,因为我们不使用它们)
    • 在Application Development下,选择.NET Extensibility 4.5,ASP.NET 4.5和两个ISAPI条目
  • 在功能部分选择:NET 3.5,.NET 4.5,ASP.NET 4.5
  • 在Web服务器部分,选择:Web服务器(全部),管理工具(IIS管理控制台和管理服务),Windows身份验证 - 如果您使用其中任何一个

  • 我必须添加的是AppDev部分中的.NET 4.5项目和功能部分.可扩展性项目也强制了2个ISAPI条目. (12认同)
  • @knocte - 在 Windows 7 中,您可以输入“卸载或更改程序”,然后点击“打开或关闭 Windows 功能”。这与服务器管理器不同,但您可以通过这种方式安装 IIS 和相关功能。 (2认同)

Sud*_*hra 108

尝试在空的ASP.NET应用程序中承载WCF服务时出现此错误.整个解决方案是在Windows 8.1上运行的IIS 8.5上使用.NET 4.5平台.问题是打开"打开或关闭Windows功能"转到ASP.NET 4.5高级服务下的WCF部分并检查HTTP激活.系统会要求您重新启动系统.屏幕截图

这应该修复HTTP 500.19!

编辑11-FEB-2016刚刚在Windows 10 Pro,IIS 10上出现问题,这一次,它是一个HTTP 404.0.修复程序仍然相同,在Windows功能 - > .NET Framework 4.6高级服务 - > WCF服务 - > HTTP激活下打开"HTTP激活"


See*_*heC 44

我也遇到了同样的问题,但在用IIS和谷歌进行了几个小时的脑力激荡之后.我找到了解决方案.此错误是因为IIS中禁用了某些设置applicationHost.config.

以下是解决方案的步骤:

  1. C:\Windows\System32\inetsrv\config\applicationHost.config记事本打开
  2. 更改以下键值

    • <section name="handlers" overrideModeDefault="Deny" /> 将此值从"拒绝"更改为"允许"

    • <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> 将此值从"拒绝"更改为"允许"

它对我有用.

  • 谢谢.执行这些步骤后,出现下一个错误.我可以像这里描述的那样解决它:http://stackoverflow.com/a/30594003/434742 (2认同)

Ibr*_*uda 31

如果您是第一次在该计算机上运行IIS,则应尝试运行ASP.NET IIS注册工具(aspnet_regiis.exe).

以下是如何执行此操作:如果您正在使用.net framework v4,请以管理员身份打开命令提示符,并使用以下命令将目录更改为.net框架基本文件夹:

CD C:\Windows\Microsoft.NET\Framework\v4.0.30319
Run Code Online (Sandbox Code Playgroud)

或者,如果您使用的是64位计算机,请使用:

CD C:\Windows\Microsoft.NET\Framework64\v4.0.30319
Run Code Online (Sandbox Code Playgroud)

当您成功导航到相应的目录后,使用以下命令执行ASP.NET IIS注册工具:

aspnet_regiis -i
Run Code Online (Sandbox Code Playgroud)

如果您使用的是其他.NET Framework版本,只需v4.0.30319使用相应的文件夹名称替换即可.

希望这可以帮助.

  • 我过去使用过这种方法,但Windows 8.1不再支持aspnet_regiis.要注册4.5,请使用程序和功能>打开或关闭Windows功能>信息信息服务>万维网服务>应用程序开发功能>检查ASP.NET 4.5以及您可能需要的任何其他内容. (7认同)
  • 对于Windows 8.1(或Windows Server 2012)上的IIS 8.5,这不起作用.我得到以下提示:C:\ Windows\Microsoft.NET\Framework\v4.0.30319> aspnet_regiis.exe -i开始安装ASP.NET(4.0.30319.33440).此版本的操作系统不支持此选项.管理员应该使用"打开/关闭Windows功能"对话框,服务器管理器管理工具或dism.exe命令行工具,使用IIS8安装/卸载ASP.NET 4.5. (2认同)

小智 20

我通过以下方式解决了这个问题:

WebServer(ISS)->WebServer->Application Development
add .NET Extensibility 3.5
add .NET Extensibility 4.5
add ASP.NET 4.5
add ISAPI Extensions
add ISAPI Filters
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


Jon*_*Jon 10

在Windows 8.1,IIS 8.5上,我的解决方案是从控制面板注册4.5:

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

单击确定.

  • 在Windows 10下,选择“ ASP”,“ ASP.NET.35。”和“ ASP.NET 4.6”。检查4.6对我有用。谢谢! (3认同)

Tar*_*nin 8

正如错误所示:

当该部分被锁定在父级别时,就会发生这种情况。

要解锁该部分,您可以使用appcmd.exe并执行以下命令:

%windir%\system32\inetsrv\appcmd.exe unlock config -section:system.webServer/handlers -commitpath:apphost
Run Code Online (Sandbox Code Playgroud)

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


Muh*_*ooq 8

在 Windows 8.1 或 10上包含 .Net Framework 4.5 或更高版本,如下所示

在此输入图像描述


小智 5

如果是 Windows 10,则以管理员身份打开 powershell 并运行以下命令:

dism /online /enable-feature /all /featurename:IIS-ASPNET45
Run Code Online (Sandbox Code Playgroud)