ASP.NET:HTTP错误500.19 –内部服务器错误0x8007000d


115

我正在复制Web应用程序部署,并发现了与相关的几个问题HTTP Error 500.19。我的机器正在运行Windows 7,而正常的开发正在使用Windows 8。我们正在使用Visual Studio 2010开发Web应用程序。

首先,我得到了错误代码0x80070021,类似于此处发布的 。我根据接受的答案更新了web.config,然后得到以下错误代码(类似于此处发布的错误代码)。

HTTP Error 500.19 - Internal Server Error
Error Code 0x8007000d
Config Source -1: 0:

我已经阅读了Microsoft支持页面中的症状定义,错误的原因是:

发生此问题的原因是ApplicationHost.config文件或Web.config文件包含格式错误的XML元素。

解决方案是

从ApplicationHost.config文件或Web.config文件中删除格式错误的XML元素。

但是,我使用的web.config在原始开发环境中运行良好。

到目前为止,这是我检查并尝试过的内容:

  1. 通过调用aspnet_regiis -i安装ASP.NET
  2. 将我的应用程序设置为使用其他应用程序池(ASP.NET v4.0,.NET v4等)
  3. Windows 7中的ApplicationHost.config文件仍在使用默认设置。

这是我的Web.Config的一部分

<system.webServer>
    <section name="handlers" overrideModeDefault="Allow" /> 
    <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true">
    </modules>
    <handlers>
        <remove name="UrlRoutingHandler" />
        <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </handlers>
    <urlCompression doStaticCompression="true" doDynamicCompression="false"></urlCompression>
    <directoryBrowse enabled="true" />
    <defaultDocument>
        <files>
            <add value="Logon.aspx" />
        </files>
    </defaultDocument>
</system.webServer>

我已经阅读了stackoverflow中类似/重复/已关闭的帖子(大约13条),尝试了除与Ajax有关的答案(是否与之相关)以外的所有内容,并且仍然不知道错误是什么。

有谁能解决这个错误?(并且,如果可能的话,需要检查事物的完整列表,以便我们减少类似的帖子。)我准备提供更多详细信息。


我只是解决了这个问题。尽管错误指向文件web.config,但appsettings.config也可能是一个问题。如果任何一个格式不正确,您将收到相同的错误。
PGardockiDotNet

Answers:


272

错误0x8007000d表示缺少URL重写模块(在web.config中引用)或未安装正确的版本。

只需通过Web平台安装程序安装URL重写模块即可。

我建议从web.config检查所有依赖项并安装它们。


23
我希望IIS如果给出“无法识别的模块:UrlRewritingNet”的信息,那么它会提供更具描述性的错误消息,所以我今天早上已经节省了两个小时。+1结束了我的痛苦:)
AlexFoxGill 2014年

17
谢谢。通过Web平台安装程序添加了“网址重写2.0”,然后进行了修复。
Cihan Yakar 2015年

有同样的问题,花了很长时间研究“损坏的” XML文件,直到我偶然发现提到URL重写模块的评论。这足以引发我对几个月前解决这一完全相同的事情的回忆!(这次我要写下来)谢谢!
2013年

4
很好,甚至Web平台都说它已经“安装”了,但是,它没有在IIS中显示,我在这里iis.net/downloads/microsoft/url-rewrite,下载正确的版本,删除当前版本并重新安装,关闭IIS并重新启动IIS,现在我可以看到“ URL Rewrite”。
Box Very

非常感谢。这个答案救了我一天。我通过Web平台安装程序在IIS 10,Windows 2016 Server上安装了“ URL重写”,并且错误消失了。
阿尼尔·古普塔

34

尝试建立.NET Core 1.0网站时,出现此错误,并尝试了其他所有我都无法找到的东西,包括检查web.config文件,IIS_IUSRS权限,IIS URL重写模块等。最后,我从以下页面安装了DotNetCore.1.0.0-WindowsHosting.exehttps : //www.microsoft.com/net/download,它立即开始工作。

要下载的特定链接:https : //go.microsoft.com/fwlink/?LinkId=817246


4
谢啦!这就是我的核心应用程序所需要的。那些想知道如何在iis中托管核心网站的人,可以访问docs.microsoft.com/en-us/aspnet/core/publishing/iis
muhihsan

1
这适用于所有版本的Core,而不仅仅是1.0。(必须在服务器上安装Core。)
Patrick

1
在尝试了所有其他方法之后,这对我有用。谢谢。
Andrew

以获得最新的版本,你可以去这里docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/...
伦纳德AB

1
为此,我可以通过运行DotNetCore安装的修复程序使它正常工作。
Shane

21

就我而言,因为我已经重新安装了iis,所以我需要使用以下命令在点网4中注册iis:

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


5

在这里参加聚会有点晚了,但我一直在为完全相同的问题(症状)而苦苦挣扎,并抱怨缺少错误详细信息报告。在IIS 8+机器上运行正常,但Win 7出现了这些INSTANT HTTP 500.19错误。对我来说,这就像在配置文件中包含不受支持的配置元素一样愚蠢:

 <applicationInitialization doAppInitAfterRestart="true">
  <add initializationPage="/" />
</applicationInitialization>

因此,当运行旧的web.config文件可以很好地工作时,我将它们进行了差异化处理,并开始砍掉新的块,直到我开始加载页面为止。如果我将其视为答案,我会立即走这条路,因为我不知道任何流行的解决方案都与之相关。所以你去了:)


这是我的问题。谢谢!
Erik W

我也有这个问题。谢谢!
何塞洛佩斯Margaça

4

就我而言(.Net Core Web API)针对此问题HTTP错误500.19 –内部服务器错误0x8007000d

首先下载dotnet-hosting-3.0.0-preview5-19227-01-win(.Net Core 3)或dotnetcore 2 hasting Windows

https://download.visualstudio.microsoft.com/download/pr/5bed16f2-fd1a-4027-bee3-3d6a1b5844cc/dd22ca2820fadb57fd5378e1763d27cd/dotnet-hosting-3.1.4-win.exe

任何.net core 3.1应用程序(无论是angular还是mvc应用程序)都需要此功能。

第二个以管理员身份安装它以管理员身份打开cmd,键入iisreset,然后按Enter

因此,刷新您的本地主机应用程序

伊朗最好的MMTofighi


1

问题解决了。这是我尝试的步骤:

  • 在IIS中启用32位应用程序->应用程序池->高级设置
  • 将System.EnterpriseServices.dll和System.EnterpriseServices.Wrapper.dll从C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727复制到应用程序bin文件夹
  • 对web.config上的部分进行注释/取消注释,发现与引用的DLL相关的问题。

我评论了我添加的上一个配置:

<section name="handlers" overrideModeDefault="Allow" /> 
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow"/>
  • 将Combres.DLL v2.1.0.0使用的所需FasterFlect.DLL添加到应用程序bin文件夹(应从Combres Codeplex下载完整zip,因为在fa​​stflect codeplex中找不到所需的fastflect DLL V2.0.3732.24338)和其他DLL。为了方便起见,请使用完整的Combres.DLL(1,3MB)
  • 使用工具,例如.NET Reflector,检查是否在web.config中正确配置了DLL版本和公共密钥令牌。

1

我了解,由于许多不同的原因,可能会发生此错误。就我而言,这是因为我从“服务器角色”中卸载了WSUS服务,并且整个IIS都关闭了。经过一些研究后,我发现卸载WSUS会删除一些用于http压缩的dll。由于这些dll丢失并且IIS仍在寻找它们,因此我在CMD中使用以下命令进行了重置:

appcmd set config -section:system.webServer/httpCompression /-[name='xpress']

答对了!现在已解决问题。不要忘记以管理员身份运行它。您可能还需要执行“ iisreset”。以防万一。

希望它对别人有帮助。干杯



1

DotNetCore托管软件包的修复为我解决了问题。:/


0

我在使用全新的Web服务时遇到了这个问题。通过为服务所在文件夹的“属性”->“安全性”中的“所有人”添加只读访问权限来解决此问题。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.