如何使用ASP和Windows 7解决“拒绝访问”?

时间:2013-01-09 19:38:04

标签: asp.net-mvc-3

我正在尝试保存这样的文件:

 FileStream file = 
     new FileStream(“C:\\temp”, FileMode.Create, System.IO.FileAccess.Write);
 Byte[] bytes = new byte[file.Length];
 File.Read(bytes, 0, (int)file.Length);
 File.Write(bytes, 0, bytes.Length);
 File.Close();
 File.Close();

然后我收到此错误:

  

拒绝访问路径'C:\ temp'。描述:未处理   在执行当前Web请求期间发生异常。   请查看堆栈跟踪以获取有关错误的更多信息   它起源于代码。

     

异常详细信息:System.UnauthorizedAccessException:访问   路径'C:\ temp'被拒绝。

     

ASP.NET无权访问所请求的资源。考虑   授予对ASP.NET请求的资源访问权限   身份。 ASP.NET具有基本进程标识(通常是   IIS 5上的{MACHINE} \ ASPNET或IIS 6和IIS 7上的网络服务,以及   IIS 7.5上配置的应用程序池标识,如果使用的话   该申请不是冒充。如果申请是   冒充通过,身份将是   匿名用户(通常是IUSR_MACHINENAME)或经过身份验证的用户   请求用户。要授予对文件的ASP.NET访问权限,请右键单击   在文件资源管理器中选择“属性”并选择安全性   标签。单击“添加”以添加适当的用户或组。突出显示   ASP.NET帐户,并选中所需访问的框。

我在Windows 7和Windows 8计算机上完成了此操作,并收到了相同的错误消息。我已经更改了PC上的管理员角色,给予所有用户完全控制权,从文件中删除了“只读”属性,但仍然遇到了同样的错误。我甚至试过用拇指驱动器。

我还注意到,从文件中删除“只读”属性后,它总是返回,就好像设置没有。

我还尝试使用Windows 7计算机进行此修复:http://fixmywin.com/fix-windows-7-access-denied-error-and-permission-ownership-problem/...but仍然出现相同的错误。我解决了这个问题大约几个小时后我放弃了。我该如何解决这个问题?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

在运行该网站的ApplicationPool的IIS中查看,选择“高级设置”,找到应用程序池正在使用的用户。除非您专门更改,否则通常为“网络服务”。然后,右键单击文件夹c:\ temp>>属性>>安全性并使用“修改”,“完全控制”或适用于您应用的权限添加“网络服务”(或其他用户)。