请教FileSystemWatcher监控文件遇到的奇怪问题
我要用FileSystemWatcher监控配置文件的内容是否改变,如果改变了就重新加载设置
只使用OnChanged事件,相关代码如下:
fsw.Path = @"C:\";
fsw.Filter = "*.config";
fsw.NotifyFilter = System.IO.NotifyFilters.LastWrite;
fsw.EnableRaisingEvents = true;
发现有一个奇怪的问题:
当监控目录在系统盘下时,修改一次文件只触发一次事件
当监控目录在逻辑盘下时,修改一次文件就会触发两次事件
我用微软给的示例也会有这种情况
哪位大侠知道这是怎么回事吗?谢谢了
------解决方案--------------------做个记号。。
------解决方案--------------------没注意过,Up
------解决方案--------------------微软也不怎么样!
------解决方案--------------------应该和监控路径没关系。你看看是不是和修改的文件大小有关。太小的可能只触发一次事件
新建文件事件时候也是。据说会3次事件,实际上很小的文件只触发2次
不知道是.net的bug还是文件系统的限制
------解决方案--------------------
------解决方案--------------------你搜一下已经有人解决事件重复触发的事情