FileSystemWatcherクラスで、ネットワークドライブ(UNC)を監視する



最近、仕事でC#のプログラムを作ったのだけど、.NET Frameworkのバグではまったので、忘れないように残しておこうと思う。


ファイル監視を実装するために、FileSystemWatcherクラスを使って、監視フォルダーにネットワークドライブをUNCで指定したのだけど、

なぜか、ファイルを変更してもイベントが発生してくれない。


グーグル先生に、いろいろ聞いてみた結果、.NET Frameworkのバグということが判明。


どうやら、UNC指定した場合に、InternalBufferSizeの指定のしかたによっては、イベントが発生しないことがあって、

対象方法は、「あなたの環境に合わせて、InternalBufferSizeを指定してください」ということらしい。


ちなみに、上のリンクは、2008年の話。


自分が使った、.NET Frameworkのバージョンは、現在最新の4.0.3。マイクロソフト・・・わかってるのなら、仕事しようよ。


コメント