2011-07-17 16 views
6

マップされたネットワークドライブを監視するためにFSWを実装する際に考慮する必要がある、特別な考慮事項(アクセス許可を除く)がありますか。ドライブが接続を失った場合、FSWは例外をスローしますか?そうでない場合(またはその例外をキャッチ/処理しただけの場合)、DirectoryInfo.Existsプロパティをポーリングして接続を確認するだけで十分ですか?マップされたネットワークドライブ上のFileSystemWatcher

答えて

6

まあ、私は、ネットワーク内の別のコンピュータ上に存在する共有フォルダを監視するためにFileSystemWatcherを使用し、ここに私の経験でいる:

  1. あなたはFile.ExistsまたはFolder.Existsを経由して接続を確認することができます。
  2. FileSystemWatcherは、その共有フォルダへの接続が失われても例外をスローしません。代わりに、接続が失われるたびに、次のエラーメッセージが表示されます。 "指定されたネットワーク名は使用できなくなりました"。あなたがそのエラーを取得すると、FSWはもはや接続が再確立された場合でも、任意のデータを処理していないので、FileSystemWatcher.Errorイベントを処理し、エラーが発生した場合、再びtrueEnableRaisingEventsをリセット、または再初期化されます、私は全体走ったFSW
+3

私が使っていたFSWのこの同じ問題。しかし、少なくとも.NET 4では、共有が復活した後、私が必要だったのは、 'EnableRaisingEvents'を' false'(実際にはFSW_Errorハンドラで行いました)に設定してから、 EnableRaisingEvents'を 'true'に設定します。それは再びイベントをピックアップし始めました。 – Jim

+0

知っておいてよかった、それは再初期化よりも優れています:) –

関連する問題