读书人

请问FileSystemWatcher监控文件遇到的

发布时间: 2012-01-13 22:43:29 作者: rapoo

请教FileSystemWatcher监控文件遇到的奇怪问题
我要用FileSystemWatcher监控配置文件的内容是否改变,如果改变了就重新加载设置
只使用OnChanged事件,相关代码如下:

fsw.Path = @"C:\";
fsw.Filter = "*.config";
fsw.NotifyFilter = System.IO.NotifyFilters.LastWrite;
fsw.EnableRaisingEvents = true;

发现有一个奇怪的问题:
当监控目录在系统盘下时,修改一次文件只触发一次事件
当监控目录在逻辑盘下时,修改一次文件就会触发两次事件

我用微软给的示例也会有这种情况
哪位大侠知道这是怎么回事吗?谢谢了

[解决办法]
做个记号。。
[解决办法]
没注意过,Up
[解决办法]
微软也不怎么样!
[解决办法]
应该和监控路径没关系。你看看是不是和修改的文件大小有关。太小的可能只触发一次事件

新建文件事件时候也是。据说会3次事件,实际上很小的文件只触发2次

不知道是.net的bug还是文件系统的限制
[解决办法]

引用楼主 jackyc23 的帖子:
我要用FileSystemWatcher监控配置文件的内容是否改变,如果改变了就重新加载设置
只使用OnChanged事件,相关代码如下:

fsw.Path = @"C:\";
fsw.Filter = "*.config";
fsw.NotifyFilter = System.IO.NotifyFilters.LastWrite;
fsw.EnableRaisingEvents = true;

发现有一个奇怪的问题:
当监控目录在系统盘下时,修改一次文件只触发一次事件
当监控目录在逻辑盘下时,修改一次文件就会触发两次事件

我用微…

[解决办法]
你搜一下已经有人解决事件重复触发的事情

读书人网 >C#

热点推荐