【问题标题】:Why does my FileSystemWatcher not raise events after a period of time?为什么我的 FileSystemWatcher 在一段时间后不引发事件?
【发布时间】:2010-06-30 16:17:19
【问题描述】:

我有一个使用 FileSystemWatcher 的小型 vb.net 应用程序连接到 UNC 路径,在未引发来自观察程序的未确定时间段(

我正在捕获文件创建事件并将路径传递给 processfile 代码块:

Private Sub fsWatch1_Created(ByVal sender As Object, ByVal e AsSystem.IO.FileSystemEventArgs) Handles fsWatch1.Created
        'file created in path - process it!
         ProcessFile(e.FullPath)

    End Sub

【问题讨论】:

  • 在我们提供帮助之前,我们需要查看您正在讨论的代码。最小化不应导致引用未被使用。
  • 我发现最小化不会导致问题,FSW 似乎在一段时间后停止响应(尚未确定)
  • UNC 驱动器是否始终可用?没有网络问题吗?

标签: .net filesystemwatcher


【解决方案1】:

对我来说,这听起来像是网络的低级问题(不一定能解决) - 所以快速谷歌搜索已经在 CodeGuru 上找到了这篇文章: http://www.codeguru.com/csharp/.net/net_general/eventsanddelegates/article.php/c9113 其中作者说这是由间歇性网络中断引起的(它们可能比你想象的更频繁 - 我们实际上在这里讨论的是两台机器之间的连接,这可能由于多种原因而被丢弃)和观察者最终可能会损坏。

作者挂钩错误事件,并在引发时重新创建观察者。

希望这会有所帮助。

【讨论】:

  • 我已经实现了类似的代码,以便处理和记录 fsw.error。我将让它运行一段时间,看看它是如何运行的,FSW 正在通过 WAN 链接运行,因此这很可能是原因。 - 感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多