【发布时间】:2011-08-26 11:30:22
【问题描述】:
我想轮询文件系统是否有任何更改、添加或删除的文件或子目录。应快速检测所有变化,但不对机器施加压力。操作系统是 Windows >= Vista,观察到的部分是本地目录。
通常情况下,我会求助于 FileSystemWatcher,但这会导致尝试观看同一地点的其他程序(主要是 Windows 资源管理器)出现问题。另外,我听说 FSW 即使对于本地文件夹和大缓冲区也不是很可靠。
我遇到的主要问题是文件和目录的数量可能非常大(猜测 7 位)。简单地每秒检查所有文件确实会明显影响我的机器。
我的下一个想法是每秒检查整棵树的不同部分以减少整体影响,并可能添加一种启发式方法,例如检查快速连续频繁更改的文件。
我想知道这种问题是否存在模式,或者是否有人遇到过这种情况。
【问题讨论】:
-
所有子文件夹都在一个根目录下吗?您在使用 Windows 资源管理器时遇到了哪些问题?这是确保您不会错过任何消息的模式。 stackoverflow.com/questions/4967095/…
-
@adrianm:是的,同一个根。 --- 当一个受监控的文件夹被更改时,资源管理器没有更新它的视图,我想是因为 FSW 偷了它的事件。
标签: .net filesystems polling filesystemwatcher