【问题标题】:FileSystemWatcher.Filter - before or after buffer?FileSystemWatcher.Filter - 在缓冲区之前还是之后?
【发布时间】:2013-03-05 12:31:13
【问题描述】:

我正在处理一个有大量文件被修改和创建/删除的项目。多个 FSW 内部缓冲区填充和必须扩展存在一些问题。

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

有人知道这里是什么吗?

谢谢。

【问题讨论】:

    标签: c# buffer filesystemwatcher internal


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-24
      • 2011-07-27
      • 1970-01-01
      • 2013-02-28
      • 1970-01-01
      相关资源
      最近更新 更多