5
我正在修改和创建/删除大量文件的项目。多个FSW内部缓冲区填充存在一些问题,需要扩展。FileSystemWatcher.Filter - 缓冲区之前还是之后?
我发现网上有冲突的信息,关于是否“.Filter”过滤出BEFORE
或AFTER
检测到的更改已添加到缓冲区。如果事后对事件进行排序的单个FSW实际上可能更有意义。
有谁知道这里肯定它是哪一个?
谢谢。
我正在修改和创建/删除大量文件的项目。多个FSW内部缓冲区填充存在一些问题,需要扩展。FileSystemWatcher.Filter - 缓冲区之前还是之后?
我发现网上有冲突的信息,关于是否“.Filter”过滤出BEFORE
或AFTER
检测到的更改已添加到缓冲区。如果事后对事件进行排序的单个FSW实际上可能更有意义。
有谁知道这里肯定它是哪一个?
谢谢。
FileSystemWatcher
包装原生W32方法ReadDirectoryChangesW
,后者又负责将文件系统事件放入提供的缓冲区中。在事件已经在专用的MatchPattern
方法中缓冲事件后,CLR端强制执行Filter
属性,该方法通知监视器是否报告文件事件。
使用Filter
属性不会有助于您目前的情况。相反,增大InternalBufferSize
值可能会更有利于避免超出缓冲区。 另外,网络上还有许多其他的文件系统事件监视类,它们解决了这个问题。