访问文件系统时,C#4.0 AsParallel()UnAuthorizedAccessException

Gre*_*reg 1 parallel-processing c#-4.0

我正在使用C#4.0 AsParallel()扩展方法并在访问文件系统时获得UnAuthorizedAccessException

foreach (var item in items.AsParallel())
{
    File.Open(@"c:\file.txt");
}
Run Code Online (Sandbox Code Playgroud)

Jar*_*Par 5

原因是默认情况下File.Open打开时禁用共享.通过使用AsParallel,您有多个线程尝试在禁用共享的同时打开文件.这按预期失败.

你还需要

  • 不要并行执行此操作
  • 在启用共享的情况下打开文件