如果创建了任何文件,我有一个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
事件相同的处理程序。它现在以某种方式工作,尽管该文件实际上是创建的,而不是更改的。
我仍然很好奇为什么在设置断点时它总是以“旧方式”工作。