Asp.net 带有0x80070005的IIS 500.19无法访问请求的页面,因为该页面的相关配置数据无效错误

Asp.net 带有0x80070005的IIS 500.19无法访问请求的页面,因为该页面的相关配置数据无效错误,asp.net,iis-7,iis-manager,Asp.net,Iis 7,Iis Manager,我想用IIS管理器在IIS上上载我自己的asp.net网站。但是当我这样做的时候,我得到了以下错误 HTTP错误500.19-内部服务器错误无法访问请求的页面 已访问,因为页面的相关配置数据为 无效的 模块IIS Web核心 通知未知 处理程序尚未确定 错误代码0x80070005 配置错误由于权限不足,无法读取配置文件 配置文件\\?\C:\Users\Yasso\Documents\visualstudio 2008\WebSite5\web.Config 我为这个错误搜索了很多次,但是没有

我想用IIS管理器在IIS上上载我自己的asp.net网站。但是当我这样做的时候,我得到了以下错误

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

模块IIS Web核心
通知未知
处理程序尚未确定
错误代码0x80070005
配置错误由于权限不足,无法读取配置文件
配置文件
\\?\C:\Users\Yasso\Documents\visualstudio 2008\WebSite5\web.Config

我为这个错误搜索了很多次,但是没有一个解决方案解决了这个错误

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


问题是什么?

请确保将应用程序池设置为框架的正确版本。您还需要确保您的aspnet、IIS\u IUSRS或IUSR用户具有对应用程序目录的读取权限。

非常简单,IIS没有访问您的web.config的权限。首先,我将从您的文档文件夹中删除该站点。然后验证它是否具有r/w权限。

最后,我找到了问题的解决方案。ASP.net帐户没有出现在IIS管理器中,因为我没有在IIS中选中它的复选框。要在Windows 7中执行此操作,请执行以下步骤:

  • 打开控制面板
  • 单击“程序”链接(不卸载程序)
  • 单击“打开/关闭windows功能”链接
  • 在弹出窗口中找到“Internet信息服务IIS”,并展开其节点
  • 展开“万维网服务”节点
  • 展开“应用程序开发功能”节点
  • 选中“ASP.NET”复选框
  • 然后单击ok按钮
  • 现在,您将在IIS管理器上看到ASP.net帐户,默认情况下,您将看到IIS帐户。现在,您应该将ASP.net网站从“我的文档”移动到IIS有权访问它的另一个位置(即,移动到计算机上的另一个分区)。现在,从IIS管理器浏览您的网站,它应该可以工作了


    非常感谢Jeff Turner提供的解决方案。消息说您的配置文件在某种程度上已损坏。但是,它也表示它实际上无法访问配置文件。因此,我将忽略关于损坏/缺乏有效性的原始消息,因为这很可能是由于缺乏授权而无法读取文件的结果

    它无法读取配置文件的原因是,运行web应用的进程没有访问该文件/目录的权限。因此,您需要为运行web应用程序的进程授予这些权限

    访问权限应该相当简单,即至少是读取权限,根据您的应用程序,可能是写入权限

    上面提到的IUSR等不在
    web.config
    的属性中。如果您的意思是IUSR没有列在文件的安全选项卡中,那么这是一件好事。我们不想给IUSR任何类型的web.config权限。IUSR角色是匿名internet用户

    web.config文件应仅可通过应用程序访问

    问题是您没有说明您使用的是哪个操作系统和IIS版本,因此很难建议采取哪些步骤


    也就是说,在IIS 7.5中,由于没有为ApplicationPoolIdentity分配权限,您引用的错误消息可能会出现。您的web应用程序属于应用程序池,因此您需要向运行web应用程序池的OS帐户授予权限。这通常类似于NetworkService,但您可能已经对其进行了自定义,以便在特制的帐户下运行。如果没有更多信息,很难为您提供帮助。

    您需要为本地计算机上的IIS\u IUSR分配权限(但您不必为IUSR分配权限,事实上,即使您明确拒绝权限,它也会起作用)

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


    如果您愿意,您可以不向IIS_IUSRS组分配权限,而是向应用程序池分配权限,该应用程序池通常应为“IIS APPPOOL\app pool name”。

    当我在web.config文件和IIS网站中都指定了相同名称(如index.aspx)的默认文档时,我也会遇到这种情况。我最终从IIS网站上删除了该条目,并保留了web.config条目,如下所示:

    <system.webServer>
      <defaultDocument>
        <files>
          <add value="index.aspx" />
        </files>
      </defaultDocument>...
    
    
    ...
    
    为我解决此问题的另一种可能性:


    IIS->编辑权限->安全选项卡->为“用户”提供适当的权限(或IIS\u IUSR,取决于您的设置)

    有时此消息可能是IIS环境中缺少的组件,例如特定框架或IIS功能(如动态压缩),而不是对web.config的权限


    如果是这样的话,,解决方案可以是安装和使用Microsoft平台安装程序,并安装那些缺少的组件-您可能需要尝试一下到底缺少了什么,因为错误日志和消息没有告诉您。

    如果站点配置为使用,但未安装,也可能会发生这种情况。

    我也有类似的问题,我固定i
    <compilation debug="true" targetFramework="4.5"/>
    
    <compilation debug="true"/>
    
    run->cmd
    
    run "c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i"