有沒有人有任何想法如何我可以可靠地禁用FileSystemWatcher對象,當我的應用程序對目錄中的文件進行更改時,這樣我只能看到外部對目錄的更改?爲特定更新禁用FileSystemWatcher?
我已經嘗試設置EnableRaisingEvents
在執行寫操作之前立即將其設置爲真,但它似乎此方法不可靠,偶爾我仍然會觸發事件。
我唯一能想到的其他事情是在執行寫操作之後等待少量時間,讓操作系統在重新啓用FSW之前完成目錄的修改,但這看起來很駭人,不喜歡它。
要添加到,該目錄包括潛在的許多文件的問題,身份這些都超出了我的知識和控制,所以我不能只是等待事件觸發特定的文件,然後忽略它。在一次修改之後可能會有任意數量的FSW事件觸發(因爲潛在的許多文件正在更新)。
我不明白你爲什麼不能忽略你正在修改的文件的事件 - 你會知道你修改過的文件的路徑,爲什麼不在短時間內忽略該文件的事件你修改完畢後的時間? – 2010-05-09 02:59:44
你可以在觀察者上設置一個NotifyFilter來過濾掉通知嗎? – 2010-05-09 03:03:07
我已經看過NotifyFilter,但從我所看到的並不是那麼有用。 @Daniel,我不知道具體的文件路徑,因爲它們是由我的控制庫(Lucene.net)創建的。 – devios1 2010-05-09 03:23:02