我正在從客戶端計算機複製到共享目錄中的服務器計算機。我的服務器檢測到新文件,複製完成後必須處理它。問題在於,當編寫一個大文件並使用FileSystemWatcher
時,不會顯示覆制是否完成。唯一的方法來檢查這是試圖打開文件(File.OpenRead
/OpenWrite
)並獲得一個例外。我怎樣才能得到一個通知,說明拷貝已經完成而不需要將異常處理作爲流量控制?如何使用C#在文件上打開寫入句柄?
我的第一個想法是,如果我能夠檢測用於寫入文件的句柄何時關閉,我可以準確地確定複製完成的時間,但我不知道該怎麼做。
如果在客戶端上,他使用Windows資源管理器簡單地將文件拖到網絡共享上? – 2010-02-23 18:06:53