我的需求:
使用文件监控FileSystemWatcher监控一个文件,如果修改,则读取他在实际使用的时候,到了读取的段落,总是抛出异常:正由另一进程使用,因此该进程无法访问该文件。
请问是FileSystemWatcher用的不对还是有别的解决方案?
说明,已经尝试过释放FileSystemWatcher资源,清空FileSystemWathcer实例,设置EnableRaisingEvents = false,依旧异常。期待遇到过同样问题的朋友的回答!
使用文件监控FileSystemWatcher监控一个文件,如果修改,则读取他在实际使用的时候,到了读取的段落,总是抛出异常:正由另一进程使用,因此该进程无法访问该文件。
请问是FileSystemWatcher用的不对还是有别的解决方案?
说明,已经尝试过释放FileSystemWatcher资源,清空FileSystemWathcer实例,设置EnableRaisingEvents = false,依旧异常。期待遇到过同样问题的朋友的回答!
解决方案:
延迟当前线程一定时间:System.Threading.Thread.Sleep(100);
新问题:
change事件触发了3次,我只要触发一次,求解决方案。
所以监控一直在起作用,并且这个和编辑你监控的那个文件的工具也有关系!
我用的是UE,他保存文件都是一下保存3次所以会导致UE对的修改和我对文件读取处于同一时间段下,从而出现正在使用的情况。
但总感觉,sleep出来的东西,有点治标不治本。