C# - File Watcher作为监视多个目录的Windows服务

时间:2013-12-05 21:46:07

标签: c# windows service filesystemwatcher directory

我有一个问题,我似乎无法找到解决方案。我正在使用FileSystemWatcher在C#中编写文件监视器Windows Service。我想看多个独立的目录,我有要监视的目录和xml文件中的一些其他设置。程序读入xml,创建适当数量的FileSystemWatchers并将这些系统观察器存储在具有随机生成的id号(作为键)的字典中。我遇到的问题是只有第一个FileSystemWatcher响应正在创建/删除/更新的文件等。我知道其他人已被创建,因为条目在字典中。我知道EnableRaisingEvents = true,因为所有的FileSystemWatcher都是通过循环以相同的方式创建的。我不知道如何让多个文件观察者正常工作,我想尽可能避免线程。如果有人有任何想法或资源可以看,那将非常感激。

1 个答案:

答案 0 :(得分:0)

我很想你实例化某种线程池或任务工厂,因为filewatcher只能在线程中查看一个文件。

然而,这篇文章有一个非常好的例子: How to assign separate thread for each File System Watcher?

希望这有帮助