FileSystemWatcher多次触发问题

Hummer&Tenon 2009-08-09 01:47:33
还是这个恼人的问题,在Google上搜了很多,结果搜出来的都一个样的("...可以参考log4net的做法。通过一个计时器,在文件事件处理中让计时器延迟一段时间之后,再执行加载新的配置文件操作。这样可以避免对文件做一次操作触发了多个更改事件,而多次加载配置文件。...")
只是我水平太有限,看不懂这些,想问一下有没有谁可以提供简单一点、实效一点的解决办法?(要源代码)谢谢了!~

主要的问题是出在changed那个事件上,renamed、deleted都可以的,created也有多次触发,不过暂时不用它
...全文
242 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
IamBM 2009-08-11
  • 打赏
  • 举报
回复
lock 锁掉好了
mythad 2009-08-11
  • 打赏
  • 举报
回复
以前也遇到过,不过好像多次触发是正确的。学习一下延迟触发!
Hummer&Tenon 2009-08-09
  • 打赏
  • 举报
回复
试试看
wuyq11 2009-08-09
  • 打赏
  • 举报
回复
延迟激发
或禁用
void watcher_Changed(object sender, FileSystemEventArgs e)
{
if (watcher != null)
{
watcher.EnableRaisingEvents = false;
Thread th = new Thread(new ThreadStart(
delegate()
{
Thread.Sleep(1000);
watcher.EnableRaisingEvents = true;
}
));
th.Start();
}
} 参考
LQknife 2009-08-09
  • 打赏
  • 举报
回复
搜搜吧 网上好多碰到的

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧