【发布时间】:2019-03-06 03:37:00
【问题描述】:
我要监控以下内容
- 新文件正在创建/复制到目录
- 现有文件已编辑
我使用以下代码订阅 FileSystemWatcher 类的 created 和 changed 事件。我注意到 FSW 类的一些问题。
- 在替换文件时,多次触发 changed 事件 次。
我该如何解决这个问题。请指教。
watcher.Path = watchpath;
watcher.Filter = "*.*";
watcher.Created += new FileSystemEventHandler(copied);
watcher.Changed += new FileSystemEventHandler(Watcher_Changed);
watcher.NotifyFilter = NotifyFilters.LastWrite;
watcher.EnableRaisingEvents = true;
对于复制到文件夹的单个项目,引发以下事件
*******> Created
-----> Changed
-----> Changed
【问题讨论】:
-
因为多处发生了变化。文件内容。文件最后修改时间。等
-
@RaymondChen 我该如何解决这个问题?请指教。
-
哇!看到 RC 对 SO 的评论。喜欢你的博客。
-
没有什么可修复的。 FileSystemWatcher 的行为符合设计。该文件更改了两次。
-
@RaymondChen 好吧,即使添加了
watcher.NotifyFilter = NotifyFilters.LastWrite;,它的行为也没有达到预期。对于 8 个文件,该事件被触发超过 8 次。
标签: c# .net filesystemwatcher