必要に応じて、複数のウォッチャーを使用しても問題ありません。コメント ShuggyCoUk が言うように、すべてのファイルが同じフォルダーにある場合は、ファイル ウォッチャーを 1 つにまとめることで最適化できます。
はるかに上位のフォルダー (ドライブのルートなど) にファイル ウォッチャーを作成するのはおそらく賢明ではありません。これは、ファイル システムで発生する他の変更から発生するより多くのイベントをコードで処理する必要があり、バッファーに入るのがかなり簡単になるためです。コードがイベントを処理するのに十分な速度でない場合は、オーバーフローします。
filesystemwatcher はネイティブ オブジェクトであり、メモリを固定します。したがって、アプリの寿命とサイズによっては、次のようにメモリの断片化の問題が発生する可能性があります。
コードは、ファイルを開くたびに長時間 (数時間または数日) 実行され、メモリ内にデータのチャンクが作成され、ファイル ウォッチャーがインスタンス化されます。次に、この一時データをクリーンアップしますが、ファイル ウォッチャーはまだそこにあります。それを複数回繰り返した場合 (ファイルを閉じないか、ウォッチャーを破棄するのを忘れた場合)、CLR で移動できない仮想メモリに複数のオブジェクトを作成しただけです。メモリの輻輳が発生する可能性があります。数人のウォッチャーがいる場合、これは大したことではありませんが、数百人以上になる可能性があると思われる場合は、大きな問題になることに注意してください.