c# – FileSystemWatcher.Filter – 缓冲区之前还是之后?
作者:互联网
我正在开发一个项目,其中包含大量文件被修改和创建/删除.多个FSW内部缓冲区填充并且必须扩展时存在一些问题.
我在网上发现了有关“.Filter”是否在检测到的更改被添加到缓冲区之前过滤掉的信息.如果实际上在单个FSW之后进行事件排序可能会更有意义.
有谁知道这是确定的?
谢谢.
解决方法:
FileSystemWatcher包装本机W32方法ReadDirectoryChangesW
,后者又负责将文件系统事件放入提供的缓冲区中.在事件已经在私有MatchPattern方法中缓冲之后,在CLR端强制执行Filter属性,该方法告诉监视器是否报告文件事件.
使用Filter属性不太可能有助于您当前的情况.相反,增大InternalBufferSize
值以避免超出缓冲区可能更有利.
或者,网上还有许多其他文件系统事件监视类,用于解决同样的问题.
标签:c,buffer,internal,filesystemwatcher 来源: https://codeday.me/bug/20190703/1371110.html