2011-07-17 175 views
6

在實施FSW以監視映射網絡驅動器時,您是否應該考慮任何特殊注意事項(權限除外)。如果驅動器失去連接,FSW會拋出異常嗎?如果沒有(或者如果我只是捕獲/處理該異常),輪詢DirectoryInfo.Exists屬性以確認連接是否足夠?映射網絡驅動器上的FileSystemWatcher

回答

6

好了,我已經使用了FileSystemWatcher來監視網絡中的其他計算機上存在的共享文件夾,這裏是我的經驗:

  1. 您可以檢查通過File.ExistsFolder.Exists連接。
  2. 如果您失去與該共享文件夾的連接,FileSystemWatcher不會引發異常。相反,只要連接丟失,您將收到以下錯誤消息: 「指定的網絡名稱不再可用」。如果您收到錯誤,FSW將不再處理,即使重新建立連接任何數據,因此處理FileSystemWatcher.Error事件,如果引發的錯誤,重新復位EnableRaisingEventstrue,或重新初始化FSW
+3

我跑過與我正在使用的FSW相同的問題。但是,至少在.NET 4中,我發現在共享返回後我需要做的就是將'EnableRaisingEvents'設置爲'false'(實際上在FSW_Error處理程序中執行了此操作),然後在共享回來時設置' EnableRaisingEvents'設置爲「true」。它開始重新開始活動。 – Jim

+0

很高興知道,這比重新初始化好:) –

相關問題