目录的并行处理

Parallel processing of Directory

我正在处理文件目录监控,我必须在其中查找特定目录 "D:\Watch",如果检测到任何新文件,我必须对其进行处理并显示内容。我正在使用 FileSystemWatcher,但我的要求是每 1 minute.That 检查一次目录,这就是为什么我跳过 FileSystemWatcher 并制作一个 Windows 服务,该服务每 1 分钟后安排一次并读取目录以处理新的文件。

但我的需求是并行读取文件,处理完文件后显示内容,不需要等待其他文件处理完。如果任何文件的内容不正确,我还需要处理异常。

我如何才能同时满足上述要求来完成这项任务。我正在使用 C#.net。谢谢

如果我没有理解错的话,这段代码应该适合你。

  var filePaths = Directory.EnumerateFiles(@"c:\mydir");
  Parallel.ForEach(filePaths, ProcessFile);

这是你的处理逻辑

  private void ProcessFile(string filePath)
  {
      //do what you have to do here. Proper exception handling is needed in this method      
  }