3

我查看了 MSDN 和反射器,但通常无法弄清楚 - 我从描述标签中获取所有这些信息,但在这种情况下 - 没有这样的运气。

我已经通过实验弄清楚了:

  • “访问被拒绝” [Win32Exception,本机错误代码 = 5] 如果正在删除监视的目录
  • 如果缓冲区溢出,则“一次更改太多”[InternalBufferOverflowException]。

还有什么想法吗?

4

1 回答 1

1

当您无权访问文件夹或特定文件时,也可能出现UnauthorizedAccessException 。

此外,不要过度依赖基本的FileSystemWatcher,即使没有InternalBufferOverflowException,它也可以跳过一些事件并且对网络目录的工作非常非常糟糕。您应该将FileSystemWatcher与一些轮询式系统结合使用,例如,每30秒运行一次目录扫描目标目录,并将当前基于FileSystemWatcher的文件列表与实际情况进行比较,这样您将实时获得大部分实际信息和所有信息定期。

于 2012-08-03T14:07:52.877 回答