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

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

模块IIS Web核心 通知未知 处理人尚未确定 错误码0x80070005 Config Error由于权限不足,无法读取配置文件 配置文件\\?\C:\用户\亚索\文档\Visual Studio 2008\网站\WebSite5\web.config

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

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

有什么问题吗?


当前回答

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

我试过了,问题解决了。

如果它对你有用,请把它作为答案,这样其他人也会得到解决方案。

其他回答

最后,我找到了解决问题的办法。ASP.net帐户没有出现在IIS管理器中,因为我没有在IIS中选中它的复选框。要在Windows 7中做到这一点,请遵循以下步骤:

打开控制面板 点击“程序”链接(不是卸载程序) 点击“打开/关闭窗口功能”链接 在弹出窗口中找到“Internet信息服务IIS”并展开其节点 展开“World Wide Web Service”节点 展开“应用程序开发功能”节点 选中“ASP. ASP.”的复选框。网” 然后点击ok按钮

现在,您将在IIS管理器上看到ASP.net帐户,默认情况下您将看到IIS帐户。现在,您应该将您的ASP.net网站从“我的文档”移动到IIS有权限访问它的另一个地方(即到您计算机上的另一个分区)。现在,从IIS管理器中浏览您的网站,它应该可以工作。

非常感谢Jeff Turner的解决方案。

除了

确保发布目标文件夹具有IUSR和IIS_IUSRS的正确安全设置 控制面板→程序→打开或关闭windows功能→互联网信息服务→万维网服务→应用程序开发功能→打开。net功能

如果你仍然得到错误,试着检查你的网络。配置文件。我把我的web应用程序部署到云上没有问题,但是我的本地IIS抛出了一些错误。我通过从web.config中删除一些注释代码来修复这个错误

该消息说您的配置文件以某种方式损坏了。然而,它也说它实际上不能访问配置文件。所以我忽略了关于损坏/缺乏有效性的原始消息,因为这很可能只是由于缺乏授权而无法读取文件的影响。

它不能读取配置文件的原因是因为运行web应用程序的进程没有访问文件/目录的权限。所以你需要给运行你的web应用的进程那些权限。

访问权限应该相当简单,即至少是“读”,根据你的应用,可能是“写”。

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

文件网络。配置应该只能通过应用程序访问。

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

例如,在iis7.5中,您引用的错误消息很可能是由于您的ApplicationPoolIdentity没有被分配权限而发生的。您的web应用程序属于一个应用程序池,因此您需要给您的web应用程序池运行的操作系统帐户权限。通常这是类似于NetworkService的东西,但是你可以自定义它,让它在一个特制的帐户下运行。没有更多的信息,很难帮助你。

安装。net Core Windows Server Hosting包

https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.1

https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/index?tabs=aspnetcore2x&view=aspnetcore-2.1

在服务器崩溃后,我们有一个网站开始给出“HTTP 500.19 0x80070005错误-无法读取配置文件web。配置”的错误。通常是权限或匿名用户配置,但这些都设置得很好,没有更改。怀疑IIS元数据库中的某些内容已损坏(或在%windir%\system32\inetsrv\config\applicationHost中)。我可以通过在IIS中删除站点并重新创建站点来让它恢复并运行。