大袋鼠的天空
时间飞逝

(1)“/Novotech.PowerCharge.Web”应用程序中的服务器错误。
--------------------------------------------------------------------------------

对路径“C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\novotech.powercharge.web\2daab6f1\66b15367”的访问被拒绝。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.UnauthorizedAccessException: 对路径“D:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\test\db58b339\50f84c0”的访问被拒绝。

ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS
6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为IUSR_MACHINENAME)或经过身份验证的请求用户。

由于在iis 6.0中,默认的应用程序池中的标示用的是Network Service,所以在进程中是使用Network Service这个帐号运行来运行w3wp.exe进程,而当我们在运行VS 2003的时候是需要对D:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary
ASP.NET Files\目录下进行读写操作的,所以看了一下该文件夹,发现没有Network Service,添加上该账号,同时选上FULL CONTROL,问题解决,但是至于为什么会产生这个问题我不大清楚,因为在安装WINDOWS 2003的时候,Network Service账号是存在于Temporary ASP.NET Files该文件夹安全列表中的。

顺便提一下,在IIS6.0中的默认应用程序池-->属性-->标示中把Net Service改成Local System该问题也可以解决




(2)请求因 HTTP 状态 401 失败:Unauthorized。

这个问题和上一个问题差不多。别人说的那么,其实没什么是有用的,还是自己研究出来的才知道那是重点。
环境:虚拟目录,其他计算机 出现的该问题
自己的解决方法: 自己机器上的先不提。在对方的计算机上共享,然后权限给上。这一步很重要:开始->程序->管理工具->本地安全策略->安全策略->本地策略->用户权限分配,双击“从网络访问此计算机”,添加IIS默认用户或者其所属的组。 注意:一般自定义 IIS默认匿名访问帐号都属于组,为了安全,没有特殊需要,请遵循此规则。
这里搞好了在去IIS上晃。去那个目录和安全性那里,编辑权限,匿名访问那里,先把钩去掉,确定,然后在去那里,点浏览,重新选择一下IIS用户就两个问题全部搞定。这也是要点。
重新选择了之后发现跟默认的也没什么区别,就多了一个计算机的名字,IIS计算机名\iis_user,这样的,默认情况下,就一个Iiis_user
我又遇到了一种情况就是当我添加一个WebServices引用后,我把项目部署到服务器上后当引用webservices属情中的“URL行为”没有修改为“动态”时也会报401失败这个错误
posted on 2007-10-30 18:21  大袋鼠  阅读(506)  评论(0编辑  收藏  举报