Это немного запутанно, но я постараюсь объяснить как можно лучше.Ожидание события FileSystemWatcher перед завершением потока
Я использую FileSystemWatcher с уведомляют фильтром
toFileWatcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.FileName;
У меня есть метод .Created и метод .Changed.
При возникновении события .Created event он проходит предварительные проверки с использованием имени файла, предоставленного наблюдателем, проверяя, был ли файл еще просмотрен, получение папки назначения и возврат информации проверки.
У меня возникла проблема, когда проверка находится в конце метода .Created и она обращается к файлу, чтобы выполнить некоторую проверку, прежде чем копировать его в пункт назначения. Когда я дойду до этого, если файл большой и все еще находится в процессе копирования из его источника, он возвращает ошибку «файл уже используется».
что я хочу сделать, это закончить весь предварительный код, а затем я хочу, чтобы поток зависал до тех пор, пока не будет запущен метод .Changed для файла, указывающий, что файл сделан, так как я только улавливаю изменения в последний фильтр доступа.
+1, согласовано. Но морщинка: это не типичная модель производителя-потребителя. Вы не можете потреблять до тех пор, пока операция не будет выполнена. –
Да, определенно некоторые сложные детали будут разработаны ... –