我最近遇到了一个错误,试图用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


当前回答

编者注:按照这个答案的建议做:“将身份更改为LocalSystem”是危险的!LocalSystem帐户是一个… 完全受信任的帐户,比管理员帐户更受信任。这个帐户在单个机器上没有什么是不能做的,它有权作为机器访问网络(这需要Active Directory并授予机器帐户权限)


将标识从ApplicationPoolIdentity更改为LocalSystem即可;)。

我使用的是win7 64和IIS 7.5

更多关于 iis7.5和win7中的应用程序池标识

其他回答

在虚拟应用程序中遇到此问题。所有权限都设置好了。 IIS_IUSRS, AppPoolIdentity,然后给Everyone完全的访问权。毫无效果。重新启动了应用程序,站点和IIS,但是不行。

删除虚拟应用程序并重新添加它,然后它开始工作。

真希望我知道是什么解决了这个问题。

对我来说,在我的本地机器上调试时出现了这个错误,结果证明与基础web有关。config,它是由. net框架在编译网站时启动的。我的C:\Windows\ Microsoft.NET \ Framework64 \ v4.0.30319 \ Config \ web。配置文件有一个无法识别的元素(folderLevelBuildProviders)。修复此修复了500.19错误。

请注意:IIS管理器无法在。net 4应用程序上配置。net编译

我将. net CLR版本设置为No Managed Code,一切都开始正常工作。

上面的答案很有帮助,但如果这对任何人都有帮助的话——我有一个确切的问题,结果是我(windows网络)共享了站点托管的根文件夹。我们终止了共享,并添加了用户权限来读取/执行,它再次工作得很好。

我怀疑是股票搞砸了。

我在localhost/MyApp上运行一个网站,通过Visual Studio自己创建的虚拟目录构建和运行。

我的“解决方案”是删除虚拟目录,让Visual Studio重新创建它。