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

我有简单的webapi生成的Visual Studio 2013.it工作良好,当我从VS13运行它,但是当我复制项目在本地IIS它给我下面的错误

HTTP错误500.19 – 内部服务器错误请求的页面无法访问,因为页面的相关configuration数据无效。

详细的错误信息:

模块 IIS Web Core

通知 BeginRequest

处理程序尚未确定

错误代码 0x80070021

configuration错误此configuration部分不能用于此path。 当部分locking在父级别时,会发生这种情况。 locking可以是默认的(overrideModeDefault =“Deny”),也可以通过overrideMode =“Deny”或legacy allowOverride =“false”的位置标签进行显式设置。

Config File \?\ C:\ inetpub \ wwwroot \ APITeslin \ web.config

configuration来源:

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

Plz帮助我。 谢谢

得到了同样的错误,并提出这个问题。 正如@SpaceBison在评论中提到的,这个答案描述了解决scheme – https://stackoverflow.com/a/12867753/404099 。 我发现它太晚了,它错过了一些步骤。 这对我来说是有效的:

Windows Server 2012,IIS 8.5 。 还应该为其他版本工作。

  • 转到服务器pipe理器,单击添加angular色和function
  • 在angular色部分select:Web服务器
    • 在安全子部分下select一切(我排除摘要,IP限制和URL授权,因为我们不使用它们)
    • 在应用程序开发下,select.NET扩展4.5,ASP.NET 4.5和两个ISAPI条目
  • 在function部分select:NET 3.5,.NET 4.5,ASP.NET 4.5
  • 在Web服务器部分select:Web服务器(全部),pipe理工具(IISpipe理控制台和pipe理服务),Windows身份validation – 如果您正在使用它

在尝试在空的ASP.NET应用程序中托pipeWCF服务时出现此错误。 整个解决scheme是在Windows 8.1上运行的IIS 8.5上使用.NET 4.5平台。 这个问题是打开“打开或closuresWindowsfunction”转到ASP.NET 4.5高级服务下的WCF部分,并检查HTTP激活。 系统会要求您重新启动系统。 屏幕截图

这应该修复HTTP 500.19!

编辑11-FEB-2016只是在Windows 10专业版,IIS 10的问题,这一次,它是一个HTTP 404.0。 解决方法仍然是相同的,打开Windowsfunction下的“HTTP激活” – > .NET Framework 4.6高级服务 – > WCF服务 – > HTTP激活

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

下面是如何做到这一点:如果您使用的是.net framework v4,请以pipe理员身份打开命令提示符,然后使用以下命令将目录更改为.net framework基本文件夹:

 CD C:\Windows\Microsoft.NET\Framework\v4.0.30319 

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

 CD C:\Windows\Microsoft.NET\Framework64\v4.0.30319 

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

 aspnet_regiis -i 

如果您使用的是不同的.NET Framework版本,只需将v4.0.30319replace为相应的文件夹名称。

希望这可以帮助。

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

以下是解决scheme的步骤:

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

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

    • <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />将此值从“Deny”更改为“Allow”

它为我工作。

我通过下面的方法解决了这个问题:

 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 

在这里输入图像说明

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

程序和function>打开或closuresWindowsfunction>信息信息服务>万维网服务>应用程序开发function>selectASP.NET 4.5

点击OK。

由于错误idnicates – “这发生在部分被locking在父级”。 要解锁该部分,您可以使用appcmd.exe并执行以下命令:

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

有关章节locking的更多信息以及父configuration上下文是指IIS文档 。

您的web.config描述了您使用表单身份validation – 请确保您启用表单身份validation并禁用身份validation菜单中的IIS下的IIS中运行的网站的匿名身份validation。

尝试在服务器级别解锁相关的IIS(7.5)configuration设置,如下所示:

  1. 打开IISpipe理器
  2. 在“连接”窗格中select服务器
  3. 在主窗格中打开configuration编辑器
  4. 在部分下拉列表中,select要解锁的部分,例如system.webServer> defaultPath
  5. 点击右侧窗格中的解锁属性
  6. 重复其他设置,你需要解锁
  7. 重新启动IIS(可选) – 在“连接”窗格中select服务器,单击“操作”窗格中的重新启动

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

<staticContent />行并从web.config中删除它。

那么,我们正在使用amazon web services,所以我们正在寻找使用脚本和程序来解决这个问题。 所以我一直在寻找一个命令行工具。 所以我首先尝试了跑步的技巧

c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

但是因为我正在运行一个基于云的Windows Server 2012,

This option is not supported on this version of the operating system. Administrators should instead install/uninstall ASP.NET 4.5 with IIS8 using the "Turn Windows Features On/Off" dialog, the Server Manager management tool, or the dism.exe command line tool. For more details please see http://go.microsoft.com/fwlink/?LinkID=216771.

我谷歌search,并find官方微软支持页面KB2736284 。 所以有一个命令行工具dism.exe 。 所以我尝试了以下

dism /online /enable-feature /featurename:IIS-ASPNET45

但它抱怨,并提供了一个function名称尝试列表,所以我尝试了他们一个一个,我testing了我的WebAPI网页之后,它的工作在列表中的最后一个。

 dism /online /enable-feature /featurename:IIS-ApplicationDevelopment dism /online /enable-feature /featurename:IIS-ISAPIFilter dism /online /enable-feature /featurename:IIS-ISAPIExtensions dism /online /enable-feature /featurename:IIS-NetFxExtensibility45 

现在我可以浏览到我的WebAPI网站并查看API信息。 这应该会帮助一些人。 [但是,我并没有完全摆脱困境,我无法从盒子外面到达网站。 仍在努力。]

另外,我在其他人的回应之后做了一些更早的步骤。 我可以确认下面的function委派需要改变(虽然我想find一个命令行工具)。

 In Feature delegation Change 'Handler Mappings' from Read Only to Read/Write Change 'Modules' from Read Only to Read/Write Change 'SSL Settings' from Read Only to Read/Write 

就我们而言,我们在这个问题上挣扎了好几天。 事实certificate,在控制面板,程序,打开或closures窗口function。

我们select了Internet信息服务,万维网服务,应用程序开发function,并在那里检查与我们的开发环境相关的一组function。 例如:ASP.NET 4.6。 .NET可扩展性4.6等

有用!

对于Windows Server上的.NET Core应用程序(在我的情况下是2012,使用IIS 10),它在安装.NET Core Windows Server Hosting软件包( 链接 )后工作。

它工作,节省我的时间。 尝试HTTP错误500.19 – 内部服务器错误 – 0x80070021(IIS 8.5)

为我工作的解决scheme是删除我目前的Web.config并添加一个新的。 这解决了我的问题