System.UnauthorizedAccessException从磁盘加载文件

时间:2011-03-16 19:03:57

标签: asp.net filestream server.mappath

从磁盘加载文件真的很奇怪:

string path = HttpContext.Current.Server.MapPath("~/Datasets/blob.xml");
FileStream stream = new FileStream(path, FileMode.Open);

抛出异常:

mscorlib.dll中发生了'System.UnauthorizedAccessException'类型的异常,但未在用户代码中处理

其他信息:拒绝访问路径'D:\ webroot \ afob \ Dev \ v1.0.x \ AFOB \ Datasets \ blob.xml'。

奇怪的是它在5分钟前工作了。我检查了磁盘上的权限,调试器和ASPNET都有读/写权限。

想法?

1 个答案:

答案 0 :(得分:0)

您上次打开它时是否丢弃了流:

string path = HttpContext.Current.Server.MapPath("~/Datasets/blob.xml");
using (var stream = new FileStream(path, FileMode.Open))
{
    ...
}

但在这种情况下,我怀疑它确实是一个权限问题。您可以从SysInternals procmon查看正在尝试打开文件的进程以及此进程执行的帐户。

相关问题