System.UnauthorizedAccessException:拒绝访问该路径

时间:2009-12-14 04:35:20

标签: asp.net

无论我做什么,例如给网络服务和ASP.NET帐户包含图像的文件夹的完全权限,我仍然会收到System.IO.File.Move的这个错误。有谁知道我在这里可能缺少的其他账户?网络服务是运行此网站运行的应用程序池的帐户,我为整个文件夹提供了网络服务的完整权限。

我已经尝试了一切。我将Network Service和machinename \ aspnet完全权限授予包含此.jpg的文件夹。我正在测试这段代码,这是在localhost ...我的开发者机器上进行的。

3 个答案:

答案 0 :(得分:0)

您是否尝试过将SysInternals FileMon用作Process Monitor的一部分。您可以使用它来监视文件访问事件或访问被拒绝事件。

答案 1 :(得分:0)

可能是因为您写入了不在ASP.NET应用程序下的其他文件夹(例如%TEMP%文件夹或其他内容)。在这种情况下,使用的帐户是IUSR_MACHINENAME,它代表匿名用户。

你需要impersonate,使用另一个文件夹或给IUSR_XXX(我认为不是一个好主意)的写权限来处理它。

答案 2 :(得分:0)

在托管共享驱动器的计算机上,请确保在这两个选项卡下进行设置:

  • 分享 - >权限
  • 安全

我们大多数人都处理安全选项卡以使IIS工作正常,但前者却给了我与.MoveTo()方法相同的问题。 (它可以读,只是不动)。

为了使问题更复杂,我还将目录共享为多个名称 - 确保检查每个共享名称的权限。