【问题标题】:How to monitor change in files in windows system in c# using filesystemwatcher如何使用filesystemwatcher在c#中监控windows系统中文件的变化
【发布时间】:2012-06-26 05:25:23
【问题描述】:

目前我正在使用 filesystemwatcher 类来监视文件更改但在我的情况下,我在系统中的不同位置有数百万个文件,因此我必须创建导致性能问题的数百万个 fileststemwatcher 类的实例。

请告诉我如何最大限度地提高性能,或者是否有其他方法可以监控 c# 中的所有文件。

【问题讨论】:

  • 明显的问题 - 你在使用 IncludeSubdirectories 属性吗?
  • 为什么要创建数百万个 fsw 类实例?您是否使用“IncludeSubdirectories”功能和文件名过滤?

标签: c# wpf filesystemwatcher


【解决方案1】:

FileSystemWatcher 是正常的方式。我建议您查看更高级别的文件 - 例如。驱动器级别的所有更改,并且仅响应您感兴趣的文件夹中的更改。

例如,一旦您收到“已更改”事件,您可以检查传递给您的事件处理程序的 FileSystemEventArgs 上的 FullPath 属性。

我假设您已经在文件夹级别观看,而不是单个文件。

【讨论】:

  • 如果我会在驱动器级别查看所有更改,那么他们就有机会获得更多不寻常的更改事件。因为例如,如果一个正在监视驱动器 C:那么它们的许多进程会不断更改某些文件,例如(日志文件),在这种情况下它不会导致任何性能问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-04
  • 2023-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多