一段时间后,FileSystemWatcher停止引发事件

时间:2011-07-12 21:53:29

标签: c# events event-handling garbage-collection filesystemwatcher

我们已经构建了一个窗口服务,用FileSystemWatcher监听文件夹,创建时我们处理文件,依此类推。但是几天之后事件就停止了。

  • 是否有可能被垃圾收集器(GC)收集?
  • GC是否收集持有类(单身)?
  • 我应该使用弱事吗?
  • 我是否有错误意味着事件未注册?

我认为问题在于,FSW有一个内部缓冲区,当它溢出错误时,请查看提供代码来解决此问题的article
希望这对任何人都有帮助。

1 个答案:

答案 0 :(得分:0)

根据建议here

,可以尝试一些事项

总结:

protected virtual void TimerTick(object sender, EventArgs e)
{
    // stop your timer
    this.timer.Stop();

    try
    {
        // TODO: add event handler specifics
    }
    catch
    {
        // TODO: add some logging to help you see what's going on
    }        

    // restart your timer
    this.timer.Start();
}