1

ディスクからファイルをロードする際の非常に奇妙な問題:

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

例外をスローします:

タイプ 'System.UnauthorizedAccessException' の例外が mscorlib.dll で発生しましたが、ユーザー コードで処理されませんでした

追加情報: パス '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 に答える