1

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

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 都像我一样具有读/写权限。

想法?

4

1 回答 1

0

您是否在上次打开流时处理了它:

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

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

于 2011-03-16T19:07:19.430 回答