![](/img/trans.png)
[英]Read last line of text file after FileSystemWatcher detects change
[英]FileSystemWatcher detects continuous change
我正在使用FileSystemWatcher来检测文件中的更改-我监视目录,然后查看通过事件args传入的文件是否与我感兴趣的文件匹配。
我们遇到一个客户的情况,不断发生更改的事件,但是当我检查修改后的日期时,什么都没有更改。
这给我们造成了各种各样的问题。 我可以(而且现在)在对事件采取行动之前检查上次修改日期是否已更改。
我无法轻松调试它,因为我无法复制它,尽管我可以在客户端计算机上放置调试版本-尽管有时它会停止发生。
但是,我想知道是否可以避免此问题的已知原因。
[编辑]我最初没有加这个,因为我敢肯定它不是有关,但代码的前一版本进行了很大的改动,以有问题的文件,超过我们可以在代码中处理的。 但是,当前版本没有该问题,此后机器已重置,因此我无法想象它导致了当前问题。
可能还会发生其他更改事件,例如文件属性或安全性ACL修改。 看一下通知过滤器:
https://msdn.microsoft.com/zh-CN/library/system.io.notifyfilters(v=vs.110).aspx
您可以将其设置为过滤以仅包括所需的更改。 在这种情况下,听起来您只需要修改写时间。 您可以将其分配给观察程序上的NotifyFilter
属性。
很难说出您实际情况中发生了什么,但是可能会更改文件属性(例如,通过索引器)或某些此类后台过程。 这些修改可能不会导致上次写入时间发生变化,但仍可能导致观察者触发。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.