我最近遇到了一个错误,试图用IIS托管我的asp.net站点。我找到了一个很多人信誓旦旦的解决办法。

解决方案: 对文件夹中的文件添加具有读权限的IIS_IUSRS 修改IIS认证方式为BasicAuthentication 刷新网站。会有用的

(http://vivekthangaswamy.blogspot.com/2009/07/aspnet-website-cannot-read.html)

我在我的网里加了什么?配置文件?我以前从来没编辑过。以下是其当前内容:

<?xml version="1.0"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
    <connectionStrings>
  <add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True"
   providerName="System.Data.SqlClient" />
 </connectionStrings>
 <system.web>
  <compilation debug="true" strict="false" explicit="true" targetFramework="4.0"/>
    </system.web>
</configuration>

我的错误是:

配置错误:由于权限不足,无法读取配置文件 配置文件:\?\ C: \用户* * * * *网站视觉Studio2010 \ \文件\ \ PointsForTime \ web . config


当前回答

转到父文件夹,右键单击并选择属性。选择“安全”选项卡,编辑权限并添加。单击“高级”和“立即查找”。选择“IIS_IUSRS”,单击“确定”,然后再次单击“确定”。确保你有检查写。单击“确定”,再单击“确定”。

完成工作!

其他回答

您的web.config没有问题。你的网站在一个进程下运行。在iis中,您可以定义该进程的标识。您网站的应用程序池运行的身份(网络服务,本地系统等),应该有访问和读取web的权限。配置文件。

更新:

这个更新后的答案和上面的一样,但更长、更简单、更完善。

首先:您不必更改配置文件中的任何内容。没关系。问题出在windows文件权限上。

出现此问题是因为您的应用程序无法访问和读取web。配置文件。

使IIS_IUSRS组可以访问该文件。只需右击网页。单击“属性”,在“安全”页签下添加IIS_IUSRS。

这个IIS_IUSRS是什么?

你的网站就像一个exe文件。就像任何exe文件一样,它应该由用户启动,并根据分配给该用户的权限运行。

当你的网站在IIS中启动时,你的网站的应用程序池与一个用户相关联(网络服务、本地系统等. ...)(并且可以在IIS中更改)

因此,当您说IIS_IUSRS时,它意味着您的站点以任何用户(网络服务、本地系统等. ...)运行。

正如@Seph在下面的评论中提到的:如果你的计算机在某个域上,请记住IIS_IUSRS组是一个本地组。 另外,当您试图找到这个用户时,请检查位置,它应该设置为本地计算机,而不是公司域。

当然,这是一个权限问题。我采取了以下步骤,它对我有效。

在左上角选择你的网站或应用程序。在大多数情况下,它将在默认网站。 在IIS管理器7或以上版本的右上角单击“基本设置”。 单击连接为按钮。 使用“特定用户”,点击设置按钮。 输入用户名和密码。像域\用户名。对我来说就像 ABC\rrajkumar输入密码。 重启IIS,浏览你的网站。现在应该可以了。

将流程模型标识更改为LocalSystem为我解决了这个问题。如果右键单击应用程序池并选择“高级设置”,就可以找到这个设置。我正在运行iis7.5。

如果应用程序位于虚拟目录中,而文件的路径是映射驱动器,就会发生这种情况。

如果您将文件的路径更改到本地驱动器,这将解决问题,如果这确实是您的问题。

有时如果它是一个新的服务器,你需要配置或安装ASP。IIS上的NET特性,使它能够读取您的web。配置文件。

对我来说,这就是原因。