每个路径上的每个扩展上都有C#/ WPF FileSystemWatcher

时间:2010-04-24 12:26:25

标签: c# wpf performance filesystemwatcher

我需要FileSystemWatcher,它可以观察相同的特定路径和特定扩展。 但路径可能是数十,数百甚至数千(希望不是:P),与扩展相同。路径和分机由用户添加。

创建数百个FileSystemWatcher并不是一个好主意,不是吗?

那么 - 怎么做? 是否可以观察/观察每个设备(HDD,SD闪存,pendrives等)? 会有效吗?我不这么认为......每个更改Windows日志文件,通过antyvirus程序扫描文件 - 它可能真的会减慢我的程序使用SystemWatcher :(

2 个答案:

答案 0 :(得分:2)

首先尝试然后你会看到你是否遇到了麻烦。

尝试优化您甚至不知道是否存在问题的内容通常不是很有效。

答案 1 :(得分:1)

创建10,000多个FileSystemWatchers可能会导致问题,这可能是对的。如果确实如此(正如Foxfire所说 - 测试它),从简单的合并开始 - 在设置FileSystemWatchers时忽略扩展,并在获得事件后过滤事件。

如果仍然导致资源使用过多,请尝试以相同的方式智能地组合路径,甚至可能只为每个驱动器号创建一个FileSystemWatcher,并在收到事件后执行剩余的过滤。你的代码。