【问题标题】:How reliable is the FileSystemWatcher in .netFramwork 4?.net Framework 4 中的 FileSystemWatcher 有多可靠?
【发布时间】:2011-08-25 13:39:05
【问题描述】:

有没有人在框架 4 中使用过 FileSystemWatcher,你有遇到什么问题吗?

我在 Windows 服务中使用它,我不能让它失败。

我从朋友那里听说它不是很可靠,但我已经测试了几个小时,我还没有遇到任何问题,但我仍然怀疑使用它.....

我将不胜感激有关此问题的任何建议,我不想将应用程序交付给客户,然后意识到这件事会崩溃......

谢谢


谢谢大家的建议

我认为就我的目的而言应该没问题。它将检查服务器本地驱动器上的文件夹,所有检查都是文件是否已被修改,所以我认为应该没问题

【问题讨论】:

  • 很多人对 FileSystemWatcher 抱有不合理的期望 - 例如认为“已创建”意味着文件存在,具有它打算包含的所有数据,并且当前没有其他程序正在访问它。
  • 但是在以前的版本中也有一些情况,FSW 根本不会接受它应该有的明显变化。我用 .net 2 版本尝试过一次,发现它对于监视正在创建的文件这样简单的事情毫无用处(我什至没有尝试访问所述文件)。
  • FileSystemWatcher 不是我所说的“可靠”。如果可靠性至关重要,则最好将其用作方便,并使用轮询来确保不会丢失任何文件。见FileSystemWatcher vs polling to watch for file changes

标签: .net filesystemwatcher


【解决方案1】:

FileSystemWatcher 依赖于底层文件系统支持,因此文件系统的任何可靠性问题都将显示为FileSystemWatcher 的可靠性问题。例如,如果您正在查看网络目录,那么网络服务器的可靠性将影响FileSystemWatcher 的可靠性。例如,服务器可能会崩溃并重新启动。当网络连接丢失时,您将不会收到更改通知。或者服务器可能simply have a bug 阻止FileSystemWatcher 可靠地工作。

另一点是FileSystemWatcher 只监视元数据的更改。 Not all file changes result in changes to metadata.

【讨论】:

猜你喜欢
  • 2011-02-09
  • 2013-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-27
  • 2015-03-31
相关资源
最近更新 更多