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

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

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

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

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

有什么问题吗?


当前回答

只需将namespace从[WebService(namespace = " http://tempuri.org/ ")]改为

http://microsoft.com/webservices/

我用这个方法解决了我的问题

其他回答

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

您需要为本地机器上的IIS_IUSRS分配权限(但是您不必为IUSR分配权限,事实上即使显式地拒绝权限,它也会工作)。

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

如果你愿意,你可以不给IIS_IUSRS组分配权限,而是给应用程序池分配权限,通常应该是“IIS APPPOOL\应用程序池名称”。

我也有类似的问题,我修复了它通过评论在网络的一些部分。配置文件。

该项目是在。net 2.0中构建和部署的。在迁移到。net 3.5之后,它开始抛出异常。

决议:

如果您的配置文件中包含“<sectionGroup name="system.web. conf . conf”。扩展>”,注释它并运行,因为这个部分已经在Machine.config下可用。

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

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

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

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

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

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

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

将本地帐户IIS_IUSRS添加到安全性中,并授予其读/执行访问权限。这对我的案子很管用。