摘要:利用FileSystemWatcher監控檔案,事件觸發多次的問題。
利用FileSystemWatcher監控檔案時,發現同一個操作可能會觸發多個事件。
若要用事件去處理檔案時,可能會造成多次處理。
目前測試的結果是Rename, Create, Delete的事件都只會被觸發一次,
然後Changed這個事件則可能會被觸發2次以上,若要利用這個事件處理檔案,要非常小心。
google了一下,發現這個問題有人提供解決方式,
http://www.cnblogs.com/RicCC/archive/2006/12/16/filesystem-watcher.html
http://www.yaosansi.com/post/1331.html
方法都是利用timer的方式去解決,也就是雖然Changed事件被觸發2次以上,但timer的事件只會被觸發一次。
但這個方式timer的interval可能是個關鍵,若不同檔案的Changed事件被同時觸發,
即其觸發的時間間隔小於interval,此時timer的事件不知道是不是會正確?這有待測試。
新增測試結果:
測試的結果如預測的一樣,同時有不同檔案的Changed事件被觸發時,因為Timer的Interval比較長,
所以Timer的事件只有被觸發一次,而不是多次。
============ 以下是簽名檔 ============
一個小小螺絲釘。
第一次建立Blog,希望以後能慢慢充實它。
Howard