请求的页面无法访问,因为页面的相关configuration数据是无效错误

我想通过IIS manager在IIS上上传自己的asp.net网站。 但是当我这样做时,我得到以下错误

HTTP错误500.19 – 内部服务器错误请求的页面无法访问,因为页面的相关configuration数据无效

 Module IIS Web Core Notification Unknown Handler Not yet determined Error Code 0x80070005 Config Error Cannot read configuration file due to insufficient permissions Config File \\?\C:\Users\Yasso\Documents\Visual Studio 2008\WebSites\WebSite5\web.config 

我多次search这个错误的解决scheme,但没有解决scheme解决了错误。

我在IUSR帐户中遇到问题。 在web.config的属性中,我无法在“组或用户名”中看到此帐户。

问题是什么?

这条消息是说你的configuration文件在某种程度上是损坏的。 但它也说,它实际上不能访问configuration文件。 所以我会忽略关于腐败/缺乏有效性的原始信息,因为这很可能只是由于缺乏授权而无法读取文件的效果。

无法读取configuration文件的原因是因为运行您的Web应用程序的进程没有权限访问文件/目录。 所以你需要给进程运行你的Web应用程序的权限。

访问权限应该是相当直接的,即至less读取 ,并根据您的应用程序,也许

上面,你提到了IUSR等不属于web.config的属性。 如果你的意思是说, IUSR没有在文件的安全标签中列出,那么这是一件好事。 一个不想给IUSR任何types的权限web.configIUSR是一个匿名的互联网用户。

文件web.config应该只能通过你的应用程序访问。

问题是你没有说你正在使用哪个操作系统和IIS版本,所以很难build议采取哪些步骤。

即在IIS 7.5中,您引用的错误消息很可能是由于您的ApplicationPoolIdentity未被分配权限而发生的。 您的Web应用程序属于应用程序池,因此您需要为Web应用程序的应用程序池所在的操作系统帐户授予权限。 通常这是像NetworkService的东西,但你可能已经定制它运行在一个目的的帐户。 没有更多的信息,很难帮助你。

如果该站点被configuration为使用IIS URL重写模块 ,但未安装,也会发生这种情况。

最后,我得到解决我的问题。 该asp.net帐户不会出现在IISpipe理器中,因为我没有检查它的checkbox在IIS中执行此操作在Windows 7中按照步骤

  1. 打开控制面板
  2. 点击“程序”链接(不是卸载程序)
  3. 点击“打开/closures窗口function”链接
  4. 在popup窗口中find“Internet Information Services IIS”并展开其节点
  5. 展开“万维网服务”节点
  6. 展开“应用程序开发function”节点
  7. 选中“ASP.NET”checkbox
  8. 然后点击确定button

现在,您将在IISpipe理器上看到Asp.net帐户,默认情况下您会看到IIS帐户现在,您应该将您的asp.net网站从“我的文档”移动到另一个有权访问的位置(您的任何分区计算机)现在从IISpipe理器浏览你的网站,它应该工作。 谢谢Jeff Turner提供的解决scheme

在我的情况下安装IIS URL重写模块解决了这个问题。

我遇到了同样的问题,这是为我工作的解决scheme。

  1. IISpipe理器
  2. 右键单击该网站
  3. 编辑权限
  4. 从Secutiry选项卡添加用户“IIS_IUSRS”
  5. 给用户'IIS_IUSRS'的完全权限
  6. 将应用程序池的标识设置为“ApplicationPoolIdentity”

Facepalm警报:

如果configuration文件的path错误,你也会得到这个错误。 仔细检查它以确保物理path在IIS中正确input。

您需要为本地计算机上的IIS_IUSRS分配权限(但不必为IUSR分配权限,实际上即使明确拒绝权限也可以使用)。

要分配权限,只需右键单击文件夹,然后在安全选项卡上确保授予正确的权限,如果用户没有列出,然后单击“添加”,然后inputIIS_IUSRS(并确保在“域”下的本地计算机被选中,或input名称字段YourLocalComputerName \ IIS_IUSRS),然后你就可以走了。

如果你希望你可以代替为IIS_IUSRS组分配权限,你可以改为分配给一般应该是“IIS APPPOOL \ app pool name ”的应用程序池

对于Visual Studio(VS)开发人员:正如Harvey Darvey,Savage和Snives暗示的那样,您的应用程序主机configuration可能指向错误的应用程序物理path。 search/.vs/config/applicationhost.config中的virtualDirectory以更改physicalPath(如果它不正确)。

在这里输入图像描述

确保physicalPath是正确的:

在这里输入图像描述

另一个可能性,为我解决这个问题:

IIS – >编辑权限 – >安全选项卡 – >给“用户”适当的权限(或IIS_IUSRS,根据您的设置)

同样的事情发生在我身上,当您select一个网站时,请尝试通过双击IIS 7右窗格上的连接string来检查这个问题。

它会给你一个错误(webconfiguration文件有问题),因为你已经使用了URL重写规则,并且没有安装相应的组件。

安装“用于IIS 7的Microsoft URL重写模块2.0”,这应该可以解决您的问题

这里没有任何工作对我来说,我发现这个命令在另一个SO回答,但它解决了我的问题。 只需以pipe理员身份启动命令提示符并运行以下命令:

 run->cmd run "c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i" 

信用:用户Vicxx

确保您的应用程序池设置为正确的框架版本。 您还需要确保您的aspnet或IUSR用户可以读取应用程序的目录。

当我在我的web.config文件和我的IIS网站中指定了一个同名的默认文档(如index.aspx)时,这也发生在我身上。 我结束了从IIS网站删除条目,并保持web.config条目如下:

 <system.webServer> <defaultDocument> <files> <add value="index.aspx" /> </files> </defaultDocument>... 

有时候这个消息可能会丢失IIS环境中的组件,例如特定的框架,或者像dynamic压缩这样的IISfunction,而不是web.config的权限。

如果是这种情况,可以通过解决scheme来安装和使用Microsoft平台安装程序并安装这些缺less的组件 – 您可能不得不采取一些措施,因为错误日志和消息不会告诉您。

埃姆。 我已经移动我的网站/文件到不同的文件夹。 无需更改IIS网站中的path。

你现在可能都笑了。

在我的情况下,它是由应用程序物理path指向IIS中不存在的文件夹引起的。

应用程序设置截图

我在Windows Server 2012,IIS 8.5中执行这些步骤来解决这个问题。 还应该为其他版本工作。

  1. 转到服务器pipe理器,单击添加angular色和function
  2. 在angular色部分select: Web Server
  3. 在安全子部分下select一切(我排除摘要,IP限制和URL授权,因为我们不使用它们)
  4. 在应用程序开发下,select.NET Extensibility 4.5ASP.NET 4.5和两个ISAPI条目
  5. 在function部分select: NET 3.5.NET 4.5ASP.NET 4.5
  6. 在Web服务器部分select: Web Server (全部), Management Tools (IISpipe理控制台和pipe理服务),Windows

我有问题,因为我复制我的web.config文件从prod下来,改变一切不prod相关的重写规则,重写为http S。

删除了这些规则,运行良好。

很简单,IIS不能访问你的web.config。 我会先从您的文档文件夹中取出网站。 确认它也有r / w权限。

我也有类似的问题,我通过评论web.config文件中的一些部分来解决它。

该项目早期build立并部署在.Net 2.0中。 迁移到.Net 3.5后,它开始抛出exception。

决议:

如果您的configuration文件包含“< sectionGroup name =”system.web.extensions >“,请注释并运行,因为此部分已在Machine.config下提供。

您需要设置您的网站文件夹的权限或复制他们到wwwroot文件夹:) – 如果设置权限,有2种方式:+右键单击到您的网站文件夹+或右键单击您的网站在IIS =>select编辑权限,并添加一个权限(IUSR – 默认iis用户)祝您好运;-)

与映射的驱动器得到此问题,IIS不能与映射的驱动器一起使用。 只需使用未映射的驱动器。

如果你的web.config文件中有synax错误或问题,你可以得到这个错误。

对我来说,这是我在AppSettings中使用的一个URL中的stream浪汉。

在IIS 7.5错误页面上,点击页面底部的“查看更多信息”,在这种情况下,它会将您带到以下Microsoft链接:

http://support.microsoft.com/kb/942055

0x80070005错误代码似乎是权限相关,并按照解决scheme2,方法2分配正确的帐户与相关文件夹的权限应该解决它的步骤 – 我花了3天寻找一个解决scheme,直到我遇到它,一直工作。

在我的情况下,它只是评论(或删除)anonymousAuthentication属性:

  <security> <authentication> <!--<anonymousAuthentication enabled="true" />--> </authentication> </security> 

对我来说,我已经从源代码pipe理中获得了最新的进展。

applicationhost.config文件的virtualDirectorypath与我的机器不同。

我恢复了我自己的副本,它的工作原理。 我正在使用IIS Express。

在这里输入图像描述

我最终通过删除我的Web应用程序的obj文件夹来解决这个问题。 重build解决scheme后,问题消失了。

在我的情况下,我select了.NET Framework 2.0的应用程序池并启用了32位应用程序。 我有.NET Framework 2.0应用程序。

我得到一个SQL Server复制项目“试图加载格式不正确的程序”错误

探索你的网站存储的文件夹,看到你会得到一个额外的文件夹“aspnet_client”删除该文件夹,它会为你工作。

我试过这个问题解决了。

如果它适合你,请把它作为答案,以便其他人也可以得到解决scheme。

这一切都没有为我工作,但我终于有一个解决scheme,为我工作:

在web.config中删除这一行:

 <compilation debug="true" targetFramework="4.5"/> 

不要删除这一行

 <compilation debug="true"/>