我正在使用C#4.0 AsParallel()扩展方法并在访问文件系统时获取UnAuthorizedAccessException
foreach (var item in items.AsParallel())
{
File.Open(@"c:\file.txt");
}
答案 0 :(得分:5)
原因是默认情况下File.Open会在禁用共享的情况下打开。通过使用AsParallel,您有多个线程尝试在禁用共享的同时打开文件。这按预期失败。
你需要
答案 1 :(得分:2)
尝试File.Open(@"c:\file.txt", FileMode.Open, FileAccess.Read, FileShare.Read)
答案 2 :(得分:0)
您有多个线程尝试访问该文件。使用高级别(即File.Open)不会执行的代码,您需要使用设置共享级别的内容。