【问题标题】:500.19 - Internal Server Error - The requested page cannot be accessed because the related configuration data for the page is invalid500.19 - 内部服务器错误 - 无法访问请求的页面,因为该页面的相关配置数据无效
【发布时间】:2013-09-04 17:53:30
【问题描述】:

在大家阅读本文之前,我只想说我知道那里有相关的线程,但我要么尝试过,要么不明白。话虽如此,这里什么都没有......

我正在尝试在我的 IIS 中运行 MVC Web 应用程序。不幸的是,我完全陷入了这个错误:

HTTP Error 500.19 - Internal Server Error

The Request page cannot be accessed becasue the related configuration data for 
the page is invalid.

Module: IIS Web Core
Notification: BeginRequest
Handler: Not yet determined
Error Code: 0x80070005
Config Error: Cannot read configuration file due to insufficient permissions
Config File: \foo\web.config
Request URL: http://localhost/WEBAPP
Logon Method: Not yet determined
Logon User: Not yet determined

Config Source
-1:
0:

我不太确定还能做什么。我也尝试过授予 web.config 文件的读取权限,但这似乎不起作用。

如果有人有任何信息或能够帮助我解决这个问题,我们将不胜感激。谢谢!

【问题讨论】:

  • 我在 VS 2015 社区版中遇到了同样的问题,并通过重新启动 VS 来修复它。
  • 我的问题通过下面的帖子解决了:stackoverflow.com/a/9239936/2155778
  • @HENGVongkol 感谢您在花费大量时间找出问题的原因后分享您的解决方案。
  • 在我的情况下,本地运行时出现问题,控制面板 -> 程序 -> IIS Express -> 修复,它会自动重置 IIS Express 设置,有效

标签: c# asp.net-mvc-3 iis-7


【解决方案1】:

在我的情况下,我需要安装 IIS URL 重写模块 2.0,因为它正在 web.config 中使用,这是第一次在新机器上运行站点。

【讨论】:

  • 是的。我也是。安装后,我现在可以在 IIS 管理器中编辑我的配置。
  • 啊哈是的!谢谢@Josh D!
  • 是的,这在我身上发生了很多次,我一直忘记
  • 完美!浪费了一天,但这就是问题所在(:
  • 这是问题所在,更友好的错误消息可以节省很多时间
【解决方案2】:

在场景 8 中的 MSDN blog: Troubleshooting HTTP 500.19 Errors in IIS 7 错误代码 0x80070005E_ACCESSDENIED - 一般访问被拒绝错误)上它说:

IIS_IUSRS 组授予读取权限...

....工作进程标识(和/或IIS_IUSRS 组)至少需要对该目录的读取权限,以便它可以检查该目录中的 web.config 文件。

【讨论】:

  • 如果在这个IIS Ipm中,没有IIS_IUSRS组呢?
  • 您需要确定工作进程的身份,也就是 w3svc 服务中的登录用户
  • 是的,我检查了,因为它是一个 IIS 托管的 Web 服务,所以用户是分配给应用程序池的帐户。因为它是一个测试服务器,所以我使用 LocalSystem
  • 注意:我是通过右键单击虚拟目录并单击更改访问权限来设置 IIS 管理器中的权限,但它仍然无法正常工作。之后,我检查了我的 web 目录中的文件,结果发现每个文件的访问权限都发生了变化......但是 web.config!我直接修改了web.config上的权限,现在可以了。
【解决方案3】:

请按照以下步骤操作

  1. 转到控制面板
  2. 转到程序和功能
  3. 打开或关闭窗口功能
  4. 转到 Internet 信息服务节点
  5. 关注万维网服务
  6. 那么请检查应用程序开发功能
  7. 然后请检查所有 Node 特别是 Asp 或 Application Framework Like Asp.net 3.5 or ASP.NET 4.5 不管你有什么

【讨论】:

  • 要明确,“那么请检查所有节点特别是 Asp 或 Application Framework Like Asp.net 3.5 or ASP.NET 4.5 不管你有什么”适用于报告的具体错误消息?需要哪些实际的?如果这取决于我在做什么,我该如何找到?
  • 如何在 Mac 上执行此操作?
【解决方案4】:

我通过重启 VS 解决了这个问题。

我在另一个 VS 实例中打开了一个配置文件,显然某事发疯了......

【讨论】:

  • 我刚刚关闭了所有实例,例如重新启动项目,源代码树,然后重建后,它在我这边工作正常。
【解决方案5】:

打开或关闭转到 Windows 功能。 启用应用程序开发功能下的所有功能并刷新IIS它的工作

【讨论】:

  • 我不认为打开所有这些是一个好主意。我可以想象如果 ASP.NET 被关闭它可能会导致问题,但我不相信,例如“服务器端包含”可能是相关的。
  • 对于 Windows Server 2012 和 2016:docs.microsoft.com/en-us/dynamics-nav/…
【解决方案6】:

我试图在 windows 10 pro box 上从 IIS 10 运行 .net core 3.1 站点,但出现此错误。执行以下操作来解决它。

先开启以下iis功能。

然后点击下面的链接。

https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-3.1#install-the-net-core-hosting-bundle

安装 .net 核心托管包

直接链接是

https://dotnet.microsoft.com/download/dotnet-core/thank-you/runtime-aspnetcore-3.1.2-windows-hosting-bundle-installer

我也安装了.net core sdk and run time。但这并没有解决问题。

不同之处在于 .net 核心托管包。

【讨论】:

  • +1 我立即对我认为是一个非常基本和幼稚的答案不屑一顾。然后我看到了“.NET Core Hosting Bundle”。等一下 - 我不知道 Windows Server 托管有单独的部署;我会把 ASP .NET Core 运行时放在那里,而不是这个其他核心托管包。 FWIW - 快速双击修复了我的 HTTP 500 - 注意。
  • 这是解决方案安装 .net 核心托管包。
【解决方案7】:

我有一个名为 web.config 的子文件夹重命名此文件夹解决了问题

【讨论】:

    【解决方案8】:

    我的问题是我不小心安装了另一个站点作为默认站点而不是 IIS 默认站点(通过打开另一个项目。)我不得不删除默认站点并将其重新指向默认位置 C:\inetpub\wwwroot 使用我的域登录为绕过的用户然后重新打开了我试图运行的项目(显示此错误的项目),这一切都是 honky dory

    【讨论】:

      【解决方案9】:

      我正在从虚拟机内部访问项目 - 从主机操作系统(Windows 10)共享项目文件夹。在尝试了许多解决方案之后,甚至确保给了IIS_IUSRS 的权限,我仍然可以解决这个问题。

      最后,我将此文件夹从主机复制到来宾操作系统上的路径上,现在我可以毫不费力地正确运行同一个 ASP.NET 项目。但是,我确实也继续让IIS_IUSRS 组完全控制这个新目录......也许在这种情况下这不是真的必要?我懒得去测试那个 ATM。

      【讨论】:

        【解决方案10】:

        为了完整起见,Asp.Net Core tag in web.config causes failure 的答案也可能是这里问题的解决方案。如果未安装 .NET Core Windows Server Hosting 捆绑包,则 IIS 无法识别 web.config 中的 aspNetCore 部分。 https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-3.1#install-the-net-core-hosting-bundle声称是直接下载到当前版本。

        【讨论】:

          【解决方案11】:

          删除 .vs/Config 文件夹 => 为我工作

          【讨论】:

            【解决方案12】:

            就我而言,我安装了 .Net core SDK 3.1.403。所以我安装了相应的 .Net Core Windows Server Hosting 即 .NET core 3.1.9 - Windows Server Hosting。

            【讨论】:

              【解决方案13】:

              我尝试了上述所有解决方案。重新安装hosting bundle后我的问题解决了。

              我之前在 IIS 管理器安装中安装了托管包。

              我认为这是导致错误。不知道为什么,但是重新安装成功了。

              【讨论】:

              • 当我尝试在 Windows server-2019 虚拟机上部署 .net core 3.1 应用程序时遇到同样的错误。我使用 azure devops 部署组托管了该网站。重新安装 .net core 3.1 的托管包后,我解决了这个问题
              【解决方案14】:

              如果从其他文件夹获取,并且主机文件已经在ProjectName\.vs\config 文件夹上生成,则它与新文件夹冲突并出现此错误。
              所以从ProjectName\.vs\config 中删除主机文件并再次重新启动项目。它对我有用

              【讨论】:

                【解决方案15】:

                就我而言,Server 的框架版本低于您的应用程序。安装了最新版本的框架,它解决了这个问题。

                【讨论】:

                  【解决方案16】:

                  在“编辑应用程序池”窗口中,将 .NET CLR 版本设置为无托管代码

                  【讨论】:

                    【解决方案17】:

                    我在使用 Visual Studion 2019 时遇到此错误,我的项目是 NopCommerce 4.30,它是一个 ASP.Net Core 3.1 项目。我将页面“gouden-munten-buitenland”添加为起始页面,但在转到该页面时我只收到错误消息。原来 Visual Studio 生成了一个无效的 applicationHost.config :

                    <applicationPools>
                        ....
                        <add name="gouden-munten-buitenland AppPool" autoStart="true" />
                        <add name="gouden-munten-buitenland AppPool 2" autoStart="true" /> <!-- WRONG -->
                        <add name="Nop.Web AppPool" managedRuntimeVersion="" />
                        <applicationPoolDefaults managedRuntimeVersion="v4.0">
                        <processModel loadUserProfile="true" setProfileEnvironment="false" />
                        </applicationPoolDefaults>
                    </applicationPools>
                    

                    <sites>
                        ....
                        <site name="Nop.Web" id="2">
                        ...
                        <application path="/gouden-munten-buitenland/gouden-munten-buitenland" applicationPool="gouden-munten-buitenland AppPool">
                            <virtualDirectory path="/" physicalPath="C:\Usr\Stephan\Wrk\Kevelam\kNop.430\Presentation\Nop.Web" />
                        </application>
                        <application path="/gouden-munten-buitenland" applicationPool="gouden-munten-buitenland AppPool 2">
                            <virtualDirectory path="/" physicalPath="C:\Usr\Stephan\Wrk\Kevelam\kNop.430\Presentation\Nop.Web" />
                        </application> <!-- WRONG -->
                        ....
                        </site>
                        ...
                    </sites>
                    

                    我删除了标识为“错误”的节点,然后它起作用了。

                    【讨论】:

                      【解决方案18】:

                      如果您的错误是使用 asp.net core 中的站点,请安装 ASP.NET Core Windows 托管包。

                      1. 单击下面的链接并选择您的 .net 核心版本
                      2. 在以下页面中找到链接“Hosting bundle”(ctrl+f 可能会有所帮助)并安装它。

                      帮了我大忙!

                      https://dotnet.microsoft.com/en-us/download/dotnet

                      【讨论】:

                        【解决方案19】:

                        我在 Windows 10Windows Server 2019 的 IIS 上运行 restful 服务 遇到了这个问题,经过大量研究我终于解决了问题。执行以下步骤后,问题很可能会得到解决。

                        • 转到“Windows 功能”和激活的完整功能 IIS(“Internet 信息服务”或“Web 服务器”)和激活的 .Net 功能

                        • 在“C:\inetpub\wwwroot”找到源代码

                        • 打开 IIS

                          • 转到安全标签后,在您的网站上点击“编辑权限”并给予完整 访问 IIS_IUSRS
                          • 点击“高级设置”后,进入“应用程序池”,然后右键单击您的应用程序池,将“Identity”更改为“LocalSystem
                          • 点击“基本设置”后,进入“应用程序池”,然后右键单击您的应用程序池,将“.NET CLR 版本”更改为“无托管代码” >"
                          • 如果要将服务设置为特定端口,请先将其设置为端口 80,然后对其进行编辑并设置您的端口
                        • 现在如果问题仍未解决,请在系统上安装以下软件:

                          • 网址重写 2
                          • 网络平台
                          • DotNetCore.2.0.8 Windows 主机
                          • Dotnet 托管 5
                          • Dotnet-runtime 5
                          • MicrosoftServiceFabricSDK 5
                          • NET.Framework 4.8

                        最后重启系统。

                        【讨论】:

                          猜你喜欢
                          • 2022-10-14
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 2017-04-02
                          相关资源
                          最近更新 更多