我正在尝试保存这样的文件:
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仍然出现相同的错误。我解决了这个问题大约几个小时后我放弃了。我该如何解决这个问题?
感谢您的帮助!
答案 0 :(得分:0)
在运行该网站的ApplicationPool的IIS中查看,选择“高级设置”,找到应用程序池正在使用的用户。除非您专门更改,否则通常为“网络服务”。然后,右键单击文件夹c:\ temp>>属性>>安全性并使用“修改”,“完全控制”或适用于您应用的权限添加“网络服务”(或其他用户)。