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

时间:2013-05-30 12:39:53

标签: asp.net iis web-applications web-config internal-server-error

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

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

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

我已阅读Microsoft support page中的症状定义,错误原因是:

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

,解决方案是

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

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

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

  1. 通过调用aspnet_regiis -i
  2. 安装ASP.NET
  3. 将我的应用程序设置为使用不同的应用程序池(ASP.NET v4.0,.NET v4等)
  4. ApplicationHost.config文件仍在Windows 7中使用默认值。
  5. 这是我的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相关的答案之外的所有内容(它是否相关)并且仍然不知道错误是什么。

    有人如何修复此错误? (如果可能的话,需要检查全面的事物清单,以便我们可以减少类似的帖子。)我准备提供更多细节。

16 个答案:

答案 0 :(得分:198)

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

只需通过网络平台安装程序安装网址重写模块。

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

答案 1 :(得分:24)

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

下载的具体链接:https://go.microsoft.com/fwlink/?LinkId=817246

答案 2 :(得分:21)

在我的情况下,因为我重新安装了iis,我需要使用此命令向dot net 4注册iis:

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

答案 3 :(得分:18)

安装网址重写:

更新 - 现在可以使用(并且适用于IIS 7-10):

https://www.iis.net/downloads/microsoft/url-rewrite

确保为IIS服务器设置了以下“允许”:

enter image description here

答案 4 :(得分:5)

这里的派对迟到了,但我一直在努力解决完全相同的问题(症状)并诅咒缺乏错误详细报告。 它在IIS 8+机器上运行良好,但Win 7得到了这些INSTANT HTTP 500.19错误。 对我来说,配置文件中配置元素不受支持是愚蠢的:

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

因此,虽然运行旧的web.config文件工作正常,但我只是将它们分开并开始砍掉新块,直到我开始加载页面。如果我认为这是一个答案我会立即走这条路线,因为我知道没有一个流行的解决方案是相关的。那你去吧:)。

答案 5 :(得分:3)

是的,对于 .net 核心应用程序,install dotnet hosting。这对我有用。

dotnet hosting installer exe

答案 6 :(得分:2)

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

答案 7 :(得分:1)

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

  • 在IIS中启用32位应用程序 - &gt;应用程序池 - &gt;高级设置
  • 将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,因为在quickflect codeplex中找不到所需的fastflect DLL V2.0.3732.24338 )和其他DLL。为方便起见,请使用完整的Combres.DLL(1,3MB)
  • 使用工具检查是否在web.config中正确配置了DLL版本和公钥标记,例如: .NET Reflector

答案 8 :(得分:1)

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

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

宾果!问题现在排序。别忘了以管理员身份运行它。您可能还需要做&#34; iisreset&#34;同样。以防万一。

希望它能帮助别人。 干杯

答案 9 :(得分:1)

我打开控制面板中的.Net Framework 3.5和4.5高级服务 - &gt;程序和功能 - &gt;打开或关闭Windows功能。这对我有用。

答案 10 :(得分:1)

答案 11 :(得分:0)

我在使用全新的网络服务时遇到了这个问题。通过为Properties上的Everyone添加只读访问权限解决了这个问题 - >服务所在文件夹的安全性。

答案 12 :(得分:0)

对于我这个问题(.Net Core Web API),HTTP错误500.19 –内部服务器错误0x8007000d

首先下载dotnet-hosting-3.0.0-preview5-19227-01-win(.Net Core 3)或dotnetcore 2拥有Windows 其次以管理员身份安装 以管理员身份打开cmd,输入iisreset,然后按Enter

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

最好的问候 来自伊朗的M.M. Tofighi

答案 13 :(得分:0)

我有完全相同的错误。事实证明,这完全是由某物引起的。在缓存文件夹中缺少写权限。但是IIS报告了错误0x8007000d,这非常令人困惑。

答案 14 :(得分:0)

当我尝试在本地 IIS 上发布 asp.net core 5.0 Web 应用程序时遇到了同样的问题,解决方案是在我的 web.config 文件中的 System.webserver 标记中添加以下内容

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

答案 15 :(得分:-1)

对我而言,完全是关于设置我的Web服务器以使用最新最好的技术来支持我的ASP.NET 5应用程序!

以下网址为我提供了所需的所有提示:

https://docs.asp.net/en/1.0.0-rc1/publishing/iis-with-msdeploy.html

希望这会有所帮助:)