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.30319
replace为相应的文件夹名称。
希望这可以帮助。
我也遇到了同样的问题,但经过与IIS和谷歌头脑风暴了好几个小时。 我find了解决办法。 这个错误是因为在IIS applicationHost.config
中禁用了一些设置。
以下是解决scheme的步骤:
- 转到
C:\Windows\System32\inetsrv\config\applicationHost.config
并在记事本中打开 -
更改以下键值
-
<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设置,如下所示:
- 打开IISpipe理器
- 在“连接”窗格中select服务器
- 在主窗格中打开configuration编辑器
- 在部分下拉列表中,select要解锁的部分,例如system.webServer> defaultPath
- 点击右侧窗格中的解锁属性
- 重复其他设置,你需要解锁
- 重新启动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并添加一个新的。 这解决了我的问题