C# FileSystemWatcher перестает запускаться после того, как файл не был внесен Изменения в течение примерно 30 минут - PullRequest
0 голосов
/ 18 апреля 2020

Я создаю список FileSystemWatcher для просмотра файлов, измененных по нескольким путям. Коды выглядят следующим образом:

List<MyFileSystemWatcher> MyFileSystemWatcherList;

foreach(DataRow row in dt.Rows)
{
   string MachineIP = row["MachineIP"].toString();
   string MachineLogPath = row["MachineLogPath"].toString();

   string FolderPath = Path.Combine(@"\\" + MachineIP, MachineLogPath);

   MyFileSystemWatcher _FileSystemWatcher = new MyFileSystemWatcher(FolderPath, "*.txt");
   _FileSystemWatcher.MachineName = MachineName;
   _FileSystemWatcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | 
   NotifyFilters.FileName | NotifyFilters.DirectoryName;
   _FileSystemWatcher.InternalBufferSize = 32768;
   _FileSystemWatcher.Changed += new FileSystemEventHandler(FileSystemWatcher_Changed);
   _FileSystemWatcher.Error += new ErrorEventHandler(FileSystemWatcher_Error);
   _FileSystemWatcher.Reset += new EventHandler(FileSystemWatcher_Reset);

   MyFileSystemWatcherList.Add(_FileSystemWatcher);
}

Когда я запускаю средство просмотра файлов, задав для параметра EnableRaisingEvents значение true, все наблюдатели работают очень хорошо. Однако если файлы не были изменены в каком-либо пути (например, путь A) более 30 минут, а файл внес изменения только через 30 минут в пути (путь A), средство просмотра файлов не запускает никаких событий. Хорошо, что другие средства просмотра файлов не подвержены влиянию и все еще работают отлично.

Могу ли я узнать причину, по которой средство просмотра файлов прекращает работу, если в течение 30 минут не было внесено никаких изменений? Любое решение по этому поводу?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...