我正在复制 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>
我在stackoverflow中阅读了类似/重复/关闭的帖子(大约13个)帖子,除了与Ajax相关的答案(是否相关)之外,我尝试了所有帖子,但仍然不知道错误是什么。
有人如何解决此错误吗? (如果可能的话,需要检查一个完整的列表,这样我们就可以减少类似的帖子。)我准备提供更多细节。
错误 0x8007000d 表示 URL 重写模块(在 web.config 中引用)丢失或未安装正确的版本。
只需通过 Web 平台安装程序安装 URL 重写模块。
我建议检查 web.config 中的所有依赖项并安装它们。
在尝试设置 .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,所以我需要使用以下命令向 dot net 4 注册 iis:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
安装 URL 重写:
更新 - 现在可以在此处获得(并且适用于 IIS 7-10):
https://www.iis.net/downloads/microsoft/url-rewrite
确保您的 IIS 服务器将以下设置设置为“允许”:
https://i.stack.imgur.com/kaSc3.png
是的,对于 .net 核心应用程序,install dotnet hosting。这对我有用。
https://i.stack.imgur.com/2xriG.png
在我的情况下(.Net Core Web API)对于这个问题 HTTP 错误 500.19 – 内部服务器错误 0x8007000d
首先下载 dotnet-hosting-3.0.0-preview5-19227-01-win (.Net Core 3) 或 dotnetcore 2 hasting windows
任何 .net core 3.1 应用程序,无论是 angular 还是 mvc 应用程序都需要这个。
第二次以管理员身份安装以管理员身份打开cmd,输入iisreset,回车
所以刷新你的本地应用程序
来自伊朗的最诚挚的问候 MTofighi
修复 DotNetCore 托管捆绑包对我有用。 :/
安装 ASP.NET Core Runtime Hosting Bundle 为我解决了这个问题。来源:500.19 Internal Server Error (0x8007000d)
在这里聚会有点晚了,但我一直在努力解决完全相同的问题(症状)并诅咒缺乏错误详细报告。它在 IIS 8+ 机器上运行良好,但 Win 7 出现这些 INSTANT HTTP 500.19 错误。对我来说,这就像在配置文件中有一个不受支持的配置元素一样愚蠢:
<applicationInitialization doAppInitAfterRestart="true">
<add initializationPage="/" />
</applicationInitialization>
因此,虽然运行旧的 web.config 文件运行良好,但我只是对它们进行了比较,然后开始切掉新的块,直到我让页面开始加载。如果我将此视为答案,我会立即走这条路,因为我知道没有一个流行的解决方案是相关的。所以你去:)
我在“控制面板”->“程序和功能”->“打开或关闭 Windows 功能”中打开 .Net Framework 3.5 和 4.5 高级服务。它对我有用。
问题解决了。以下是我尝试的步骤:
在 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,因为在 fastflect codeplex 中找不到所需的 fasterflect DLL V2.0.3732.24338)和其他DLL。为方便起见,请使用完整的 Combres.DLL (1,3MB)
使用工具检查 DLL 版本和公钥令牌是否在 web.config 中正确配置,例如 .NET Reflector
我了解,由于许多不同的原因,可能会发生此错误。就我而言,这是因为我从服务器角色中卸载了 WSUS 服务,并且整个 IIS 都关闭了。经过一番研究,我发现卸载 WSUS 会删除一些用于进行 http 压缩的 dll。由于这些 dll 丢失并且 IIS 仍在寻找它们,我在 CMD 中使用以下命令进行了重置:
appcmd set config -section:system.webServer/httpCompression /-[name='xpress']
答对了!现在问题已经解决了。不要忘记以管理员身份运行它。您可能还需要执行“iisreset”。以防万一。
希望它可以帮助别人。干杯
对我来说,这一切都是为了设置我的 Web 服务器以使用最新最好的技术来支持我的 ASP.NET 5 应用程序!
以下 URL 为我提供了所需的所有提示:
https://docs.asp.net/en/1.0.0-rc1/publishing/iis-with-msdeploy.html
希望这可以帮助 :)
我在使用全新的 Web 服务时遇到了这个问题。通过在属性->安全性上为服务所在的文件夹添加每个人的只读访问权限来解决此问题。
我有完全相同的错误。原来,这完全是由某事引起的。它在缓存文件夹中缺少写权限。但是 IIS 报告了错误 0x8007000d,这非常令人困惑。
当我尝试在本地 IIS 上发布 asp.net core 5.0 Web 应用程序时遇到同样的问题,解决方案是在我的 web.config 文件中的 System.webserver 标记中添加以下内容
<applicationInitialization doAppInitAfterRestart="true">
<add initializationPage="/" />
</applicationInitialization>
重新安装 ASP.NET Core 运行时 - Windows Hosting Bundle Installer 为我解决了问题……我相信“ASP.NET Core 模块”丢失了。
对我来说,我的根文件夹中有一个 web.config 文件,该配置文件用于实时服务器,因此删除它允许站点在开发服务器上运行。
所以也要检查文件夹中的任何 web.config 文件。