Невозможно просмотреть папку с помощью FileSystemWatcher в C # - PullRequest
3 голосов
/ 20 мая 2011

Я пытаюсь отслеживать папку (и ее подпапки) на предмет изменений.Тем не менее, мое событие обработчика никогда не выполняется.Я использую следующий код:

FileSystemWatcher m_Watcher = new FileSystemWatcher();
m_Watcher.Path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "/Portal 2 Map Installer/"; 
m_Watcher.Filter = "";
m_Watcher.NotifyFilter = NotifyFilters.LastAccess |
             NotifyFilters.LastWrite |
             NotifyFilters.FileName |
             NotifyFilters.DirectoryName;
m_Watcher.IncludeSubdirectories = true;
m_Watcher.Changed += new FileSystemEventHandler(OnFolderChange);
m_Watcher.EnableRaisingEvents = true;

Помогите пожалуйста!

Ответы [ 2 ]

0 голосов
/ 20 мая 2011

В обработчике события Changed есть некоторые примечания:

Событие Changed неожиданно возникает при переименовании файла, но не возникает при переименовании каталога. Чтобы следить за переименованием, используйте событие Переименовано .

Так что было бы разумно также обработать событие Renamed (как минимум).

0 голосов
/ 20 мая 2011

Создайте обработчик для события on error и посмотрите, что оно говорит:

  m_Watcher.Error += new ErrorEventHandler(OnError);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...