访问 ASP.NET 网页时出现“服务器应用程序不可用”的提示。在事件查看器中查看应用程序日志,如下:
未能加载文件或程序集“System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。拒绝访问。
解决方法
- Windows 2000 中,请让 ASPNET 这个帐户具有读取网站的权限。
- Windows 2003 及以上,请让 NETWORK SERVICE 这个帐户具有读取网站的权限(Windows 2008 的话具体还要看应用程序池的配置)。
我们这里把 ASPNET、NETWORK SERVICE 称为进程帐户,其实微软说进程帐户应该从磁盘根目录到网站目录都要有列出文件夹/读取的权限,原因是:“对于文件更改通知和 C# 编译器,该进程帐户需要对应用程序文件夹层次结构具有列出文件夹和读取数据的权限。该层次结构指一直通向根目录的所有父文件夹”。
比如:
- C:
- C:\inetpub\
- C:\inetpub\wwwroot\
- C:\inetpub\wwwroot\mywebapp1\