0

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

 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 机器上完成了此操作,并收到了相同的错误消息。我已经更改了电脑上的管理员角色,完全控制了所有用户,从文件中删除了“只读”属性,但仍然出现同样的错误。我什至尝试使用拇指驱动器。

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

我还尝试使用 Windows 7 机器进行此修复:http: //fixmywin.com/fix-windows-7-access-denied-error-and-permission-ownership-problem /...但仍然是相同的错误。我在大约几个小时后放弃了这个问题。我怎样才能解决这个问题?

谢谢你的帮助!

4

1 回答 1

0

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

于 2013-01-10T06:19:55.693 回答