我最近遇到了一个错误,试图用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应用程序有一个物理路径包含正斜杠/而不是反斜杠\的虚拟目录时,我们就遇到了这种情况。这是在我们的持续交付过程中使用IIS的powershell管理API意外完成的。

错误配置示例- applicationHost.config . Config

<application path="/MySite/MyService" applicationPool="MyAppPool" enabledProtocols="http">
    <virtualDirectory path="/" physicalPath="C:\inetpub\MySite/MyService" />
</application>

确保physicalPath属性不包含正斜杠/,只包含反斜杠\

- applicationHost.config . Config

<application path="/MySite/MyService" applicationPool="MyAppPool" enabledProtocols="http">
    <virtualDirectory path="/" physicalPath="C:\inetpub\MySite\MyService" />
</application>

其他回答

我尝试了以前的大部分建议,但都没有用。我无法重新加载网站,所以我编辑了.csproj文件并更改了端口号,它立即工作了:

 <WebProjectProperties>
      <UseIIS>True</UseIIS>
      <AutoAssignPort>True</AutoAssignPort>
      <DevelopmentServerPort>**4000**</DevelopmentServerPort>
      <DevelopmentServerVPath>/</DevelopmentServerVPath>
      <IISUrl>http://localhost:**4000**/</IISUrl>
      <NTLMAuthentication>False</NTLMAuthentication>
      <UseCustomServer>False</UseCustomServer>
      <CustomServerUrl>
      </CustomServerUrl>
      <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
    </WebProjectProperties>

编辑.csproj文件

进入IIS(站点) 右击网站内的项目。输入图像描述 在这里

点击编辑权限。

去保安那儿。 点击编辑按钮。 单击添加按钮。类型COMPUTER_NAME \ IIS_USERS 或 点击前进。 单击“立即查找”按钮。 还有选择的余地。 选择IIS_USERS,点击ok…ok....ok .

我也收到了“由于权限不足而无法读取配置文件”的提示。结果是IIS中的ISAPI和CGI限制。NET 4.0 32位和64位被设置为拒绝。把它们都标记为允许修正了我的问题。

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

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

我有同样的问题,在做了所有写在这里作为答案的东西之后,它仍然复制。 问题的第二部分是。net在“打开或关闭Windows功能”下被关闭了。