【发布时间】:2013-03-05 12:31:13
【问题描述】:
我正在处理一个有大量文件被修改和创建/删除的项目。多个 FSW 内部缓冲区填充和必须扩展存在一些问题。
我在网上发现了有关“.Filter”是否过滤掉BEFORE 或AFTER 检测到的更改被添加到缓冲区的相互矛盾的信息。如果实际上在单个 FSW 之后进行事件排序可能更有意义。
有人知道这里是什么吗?
谢谢。
【问题讨论】:
标签: c# buffer filesystemwatcher internal
我正在处理一个有大量文件被修改和创建/删除的项目。多个 FSW 内部缓冲区填充和必须扩展存在一些问题。
我在网上发现了有关“.Filter”是否过滤掉BEFORE 或AFTER 检测到的更改被添加到缓冲区的相互矛盾的信息。如果实际上在单个 FSW 之后进行事件排序可能更有意义。
有人知道这里是什么吗?
谢谢。
【问题讨论】:
标签: c# buffer filesystemwatcher internal
FileSystemWatcher 包装了本机 W32 方法 ReadDirectoryChangesW,该方法又负责将文件系统事件放入提供的缓冲区中。 Filter 属性在事件已经被一个私有的MatchPattern 方法缓冲后在 CLR 端强制执行,该方法告诉监视器是否报告文件事件。
使用Filter 属性不太可能对您当前的情况有所帮助。相反,增大InternalBufferSize 值以避免溢出缓冲区可能更有利。
或者,网上还有许多其他文件系统事件监控类旨在解决同样的问题。
【讨论】: