我的程序的一部分必须跟踪一组文件,包括它们在内存中的路径和哈希码。
问题是,用户可能希望在任何时间点使用外部程序编辑文件。
如果发生这种情况,我希望我的程序得到通知,以便它更新其内存中该文件的相应哈希码以及许多其他可能的操作。
理想情况下,我希望通知新线程或专用后台线程并执行必要的操作,而不是主 GUI 线程。我正在使用 ConcurrentDictionary 和类似的线程安全数据结构。
我正在使用 C# 5、Windows 7。
您正在寻找FileSystemWatcher
侦听文件系统更改通知并在目录或目录中的文件更改时引发事件。
你检查过FileSystemWatcher类吗?
也许这个类可以帮助您在文件更改时获得通知。
FileSystemWatcher 组件可以为您做到这一点:http:
//msdn.microsoft.com/en-us/library/342da5th
(v=vs.71).aspx
我之前以类似的方式尝试过它,就像您描述的那样,有效完美。