Разрешение вопросов, связанных с компонентами FileSystemWatcher

Обновлен: Ноябрь 2007

При работе с компонентом FileSystemWatcher могут возникнуть следующие ситуации:

Отсутствие поддержки имен путей в формате UNC на компьютерах с установленной системой Windows NT версии 4.0

Если на компьютере с установленной системой Windows NT версии 4.0 компонент FileSystemWatcher используется для отслеживания активности файловой системы другого компьютера (под управлением той же операционной системы), то при определении свойства Path отсутствует возможность использования пути на основе UNC для указания соответствующего компьютера. Значения на основе UNC можно использовать только при работе на компьютерах под управлением системы Windows 2000.

Невозможность просмотра каталогов системы Windows 95 или Windows 98

Если в компоненте FileSystemWatcher используется ссылка на каталог компьютера с установленной операционной системой Windows 95 или Windows 98, то при выполнении проекта возникает ошибка об указании неверного пути к каталогу. При использовании компонента FileSystemWatcher просмотр каталогов, находящихся на компьютерах с установленной системой Windows 95 или Windows 98, невозможен.

Генерация нескольких событий для одного действия

В некоторых ситуациях можно заметить, что одно событие создания порождает несколько обрабатываемых компонентом событий Created. Например, если компонент FileSystemWatcher используется для отслеживания создания новых файлов в каталоге, то при проверке работы компонента путем создания файла в программе Блокнот генерируется два события Created несмотря на то, что создан только один файл. Это происходит из-за того, что программа Блокнот в процессе записи файла выполняет несколько действий с файловой системой. Программа Блокнот выполняет запись файла на диск частями, сначала создавая содержимое файла, а затем атрибуты файла. Другие приложения могут работать аналогичным образом. Поскольку компонент FileSystemWatcher отслеживает действия с операционной системой, в него поступают все события, активизируемые данными приложениями.

xcc1t119.alert_note(ru-ru,VS.90).gifПримечание.

При работе с программой Блокнот могут возникнуть и другие интересные ситуации, связанные с генерацией событий. Например, событие генерируется, если для отслеживания изменений только атрибутов используется свойство NotifyFilter и с помощью программы Блокнот выполняется запись в файл, находящийся в контролируемом каталоге. Это происходит потому, что программа Блокнот в процессе этой операции обновляет атрибут Архивный файла.

Генерация неожиданных событий для каталогов

Изменение файла в каталоге, за которым ведется наблюдение при помощи компонента FileSystemWatcher, порождает не только событие Changed для файла, но и такое же событие для самого каталога. Это происходит потому, что в каталоге поддерживается несколько типов сведений для каждого содержащегося в нем файла — имя, размер, дата изменения, атрибуты и т. д. При изменении в любой момент времени одного из этих атрибутов изменение также связывается и с самим каталогом.

См. также

Задачи

Практическое руководство. Создание экземпляров компонента FileSystemWatcher

Пример уведомления о файле

Основные понятия

Знакомство с наблюдением за событиями файловой системы