ASP.NET:HTTP 错误 500.19 – 内部服务器错误 0x8007000d
Posted
技术标签:
【中文标题】ASP.NET:HTTP 错误 500.19 – 内部服务器错误 0x8007000d【英文标题】:ASP.NET: HTTP Error 500.19 – Internal Server Error 0x8007000d 【发布时间】:2021-10-18 14:38:44 【问题描述】:我正在复制 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 在原始开发环境中运行良好。
这是我迄今为止检查和尝试过的:
-
通过调用 aspnet_regiis -i 安装 ASP.NET
将我的应用程序设置为使用不同的应用程序池(ASP.NET v4.0、.NET v4 等)
ApplicationHost.config 文件仍使用 Windows 7 的默认设置。
这是我的 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>
我在 *** 中阅读了类似/重复/关闭的帖子(大约 13 个),除了与 Ajax 相关的答案(是否相关)之外,我尝试了所有的帖子,但仍然不知道错误是什么。
有没有人可以解决这个错误? (如果可能的话,需要检查一个完整的列表,这样我们就可以减少类似的帖子。)我准备提供更多细节。
【问题讨论】:
我刚刚解决了这个问题。虽然错误指向文件 web.config,但它也可能是 appsettings.config 的问题。如果其中任何一个格式不正确,您都会收到相同的错误。 当您的 Web.config 引用了一个缺失的模块(例如:CORS、重写)或者您正在使用带有配置的 IIS Express 时,通常也会出现此错误代码(包括未显示源代码)将使用其中一个模块。 双重检查,如果您在机器上安装了托管包。在 .NET Core 下载页面上,有几个下载链接:Hosting Bundle、x64、x86。当您单击 x64 时,您没有下载 Hosting Bundle! 【参考方案1】:错误 0x8007000d 表示 URL 重写模块(在 web.config 中引用)丢失或未安装正确的版本。
只需通过网络平台安装程序安装 URL 重写模块。
我建议检查 web.config 中的所有依赖项并安装它们。
【讨论】:
我希望 IIS 能给出更具描述性的错误消息,如果它显示“无法识别的模块:UrlRewritingNet”我今天早上会节省两个小时。 +1 结束我的痛苦:) 谢谢。通过Web Platform Installer添加“Url Rewrite 2.0”,然后修复。 遇到了同样的问题,花了很长时间查看“损坏”的 XML 文件,直到我偶然发现这个提到 URL 重写模块的评论。这足以让我回忆起几个月前解决这个完全相同的事情! (这次写下来)谢谢! 好,连Web平台都说已经“安装”了,但是在IIS中没有显示,我去iis.net/downloads/microsoft/url-rewrite,下载正确的版本,删除当前版本并重新-安装,关闭 IIS 并重新启动 IIS,现在我可以看到“URL Rewrite”了。 非常感谢。这个答案挽救了我的一天。我通过 IIS 10、Windows 2016 服务器上的 Web 平台安装程序安装了“URL 重写”,错误消失了。【参考方案2】:在尝试设置 .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
【讨论】:
谢谢你!这是我的核心应用程序所需要的。想知道如何在iis中托管核心网站的可以去docs.microsoft.com/en-us/aspnet/core/publishing/iis 这适用于所有版本的 Core,而不仅仅是 1.0。 (核心需要安装在服务器上。) 在尝试了其他所有方法后,这对我有用。谢谢。 感谢您,我可以通过运行我的 DotNetCore 安装修复来使其正常工作。 我的 web.config 中有“aspNetCore”和“dotnet.exe”之类的东西,我也遇到了同样的问题,现在它适用于您的修复,谢谢。【参考方案3】:在我的情况下,因为我已经重新安装了 iis,所以我需要使用以下命令向 dot net 4 注册 iis:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
【讨论】:
【参考方案4】:安装 URL 重写:
更新 - 现在可以在此处获得(并且适用于 IIS 7-10):
https://www.iis.net/downloads/microsoft/url-rewrite
确保您的 IIS 服务器已将以下设置设置为“允许”:
【讨论】:
感谢您的链接!我从添加/删除功能安装了它,但这并没有解决它。只有从该链接下载才有效。【参考方案5】:是的,对于 .net 核心应用程序,install dotnet hosting。这对我有用。
还有here it is for .net6
【讨论】:
这是非常有用的答案。感谢分享 是的,它对我有用。我的配置:iis10,win2019,.net core 5.感谢分享解决方案【参考方案6】:在我的情况下(.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,回车
所以刷新你的本地应用程序
最好的尊重 来自伊朗的 M.M.Tofighi
【讨论】:
【参考方案7】:DotNetCore 托管捆绑包的修复对我有用。 :/
【讨论】:
【参考方案8】:在这里聚会有点晚了,但我一直在努力解决完全相同的问题(症状)并诅咒缺乏错误详细报告。 它在 IIS 8+ 机器上运行良好,但 Win 7 出现这些 INSTANT HTTP 500.19 错误。 对我来说,这就像在配置文件中包含不受支持的配置元素一样愚蠢:
<applicationInitialization doAppInitAfterRestart="true">
<add initializationPage="/" />
</applicationInitialization>
因此,在运行旧的 web.config 文件时运行良好,我只是对它们进行了比较,然后开始删除新的块,直到我开始加载页面。如果我将此视为答案,我会立即走这条路,因为我知道没有一个流行的解决方案是相关的。所以你去:)
【讨论】:
这是我的问题。谢谢! 我也有这个问题。谢谢!【参考方案9】:安装ASP.NET Core Runtime Hosting Bundle 为我解决了这个问题。来源:500.19 Internal Server Error (0x8007000d)
【讨论】:
【参考方案10】:我在 控制面板->程序和功能->打开或关闭 Windows 功能中打开 .Net Framework 3.5 和 4.5 高级服务>.它对我有用。
【讨论】:
【参考方案11】:问题解决了。以下是我尝试过的步骤:
在 IIS 中启用 32 位应用程序 -> 应用程序池 -> 高级设置 将 System.EnterpriseServices.dll 和 System.EnterpriseServices.Wrapper.dll 从 C:\Windows\Microsoft.NET\Framework\v2.0.50727 复制到应用程序 bin 文件夹中 对 web.config 上的部分执行 cmets/uncmets 并发现与引用的 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,因为在 fastflect codeplex 中找不到所需的 fasterflect DLL V2.0.3732.24338 ) 和其他 DLL。为方便起见,请使用完整的 Combres.DLL (1,3MB)
使用工具检查 DLL 版本和公钥令牌是否在 web.config 中正确配置,例如.NET 反射器
【讨论】:
【参考方案12】:我了解发生此错误的原因有很多。就我而言,这是因为我从服务器角色中卸载了 WSUS 服务,并且整个 IIS 都关闭了。经过一番研究,我发现卸载 WSUS 会删除一些用于进行 http 压缩的 dll。由于这些 dll 丢失并且 IIS 仍在寻找它们,我在 CMD 中使用以下命令进行了重置:
appcmd set config -section:system.webServer/httpCompression /-[name='xpress']
宾果!现在问题已经解决了。不要忘记以管理员身份运行它。您可能还需要执行“iisreset”。以防万一。
希望它可以帮助其他人。 干杯
【讨论】:
【参考方案13】:对我来说,这一切都是为了设置我的 Web 服务器以使用最新最好的技术来支持我的 ASP.NET 5 应用程序!
以下网址提供了我需要的所有提示:
https://docs.asp.net/en/1.0.0-rc1/publishing/iis-with-msdeploy.html
希望这会有所帮助:)
【讨论】:
您能描述一下链接中包含的一些要点吗?这样,如果链接断开或不可用,答案仍然有用。【参考方案14】:我在使用全新的网络服务时遇到了这个问题。通过在属性->服务所在文件夹的安全性上为所有人添加只读访问权限来解决此问题。
【讨论】:
【参考方案15】:我遇到了完全相同的错误。原来,这完全是由某事引起的。它在缓存文件夹中缺少写权限。但是 IIS 报告了错误 0x8007000d,这非常令人困惑。
【讨论】:
【参考方案16】:当我尝试在本地 IIS 上发布 asp.net core 5.0 Web 应用程序时遇到同样的问题,解决方案是在我的 web.config 文件中的 System.webserver 标记中添加以下内容
<applicationInitialization doAppInitAfterRestart="true">
<add initializationPage="/" />
</applicationInitialization>
【讨论】:
【参考方案17】:重新安装 ASP.NET Core 运行时 - Windows Hosting Bundle Installer 为我解决了难题...我相信“ASP.NET Core 模块”丢失了。
【讨论】:
【参考方案18】:对我来说,我的根文件夹中有一个 web.config 文件,此配置文件用于实时服务器,因此删除它允许站点在开发服务器上运行。
所以也要检查文件夹中的任何 web.config 文件。
【讨论】:
以上是关于ASP.NET:HTTP 错误 500.19 – 内部服务器错误 0x8007000d的主要内容,如果未能解决你的问题,请参考以下文章
IIS 将 ASP.NET 5 BETA 8 站点部署到 IIS 会出现 HTTP 错误 500.19 - 内部服务器错误
asp.net,本地发布,IIS报错,HTTP 错误 500.19 - Internal Server Error
Web 应用程序问题(web.config 错误)HTTP 500.19 与 IIS7.5 和 ASP.NET v2
Asp.Net Core子应用由于配置中重复添加模块会引起IIS错误500.19
尽管安装了 AspNetCoreModule,但在 IIS 中运行 ASP.NET Core 应用程序时出现 0x8007000d 错误 500.19