作成されたファイルがFileSystemWatcher
ある場合、複数のディレクトリをチェックするがあります。
((System.ComponentModel.ISupportInitialize)(FileMonitor)).BeginInit();
FileMonitor.EnableRaisingEvents = true;
FileMonitor.Created += new FileSystemEventHandler(FileMonitor_Created);
FileMonitor.Path = Path.ToString();
FileMonitor.IncludeSubdirectories = true;
FileMonitor.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName | NotifyFilters.Attributes;
((System.ComponentModel.ISupportInitialize)(FileMonitor)).EndInit();
何らかの理由で、FileMonitor_Createdイベントは、アプリケーションの実行時に発生する必要がある場合でも、常に発生するとは限りません。ランダムに感じます...
ただし、FileMonitor_Createdメソッドにブレークポイントを設定すると、完全に機能します。ブレークポイントが設定されている場合、イベントは必要なときに毎回発生します。
FileMonitorにInterBufferSizeを設定しようとしましたが、効果がありませんでした。
アップデート
Changed
イベントをFilemonitorに追加し、イベントと同じハンドラーを指定しましたCreated
。ファイルは実際に作成され、変更されていませんが、どういうわけか今は機能しています。
ブレークポイントを設定するときに、なぜそれが常に「古い方法」で機能したのか、私はまだ興味があります。