c# – FileSystemWatcher.Filter – 缓冲区之前还是之后?

我正在开发一个项目,其中包含大量文件被修改和创建/删除.多个FSW内部缓冲区填充并且必须扩展时存在一些问题.

我在网上发现了有关“.Filter”是否在检测到的更改被添加到缓冲区之前过滤掉的信息.如果实际上在单个FSW之后进行事件排序可能会更有意义.

有谁知道这是确定的?

谢谢.

最佳答案 FileSystemWatcher包装本机W32方法
ReadDirectoryChangesW,后者又负责将文件系统事件放入提供的缓冲区中.在事件已经在私有MatchPattern方法中缓冲之后,在CLR端强制执行Filter属性,该方法告诉监视器是否报告文件事件.

使用Filter属性不太可能有助于您当前的情况.相反,增大InternalBufferSize值以避免超出缓冲区可能更有利.
或者,网上还有许多其他文件系统事件监视类,用于解决同样的问题.

点赞