У меня есть программа, которая работает как служба Windows; он обрабатывает файлы в определенной папке. Поскольку это сервис, он постоянно контролирует папку для новых файлов, которые были добавлены. Часть задания программы состоит в том, чтобы выполнять сравнение файлов в целевой папке и флажках, не соответствующих файлам. То, что я хотел бы сделать, - это определить, выполняется ли операция копирования и когда она завершена, так что файл не будет преждевременно помечен, если файл соответствия еще не скопирован в целевую папку.
То, что я собирался сделать, это использовать FileSystemWatcher для просмотра целевой папки и посмотреть, происходит ли операция копирования. Если есть, я помещаю основной поток моей программы в режим ожидания, пока операция копирования не завершится, а затем продолжите выполнение операции в папке, как обычно. Я просто хотел получить некоторое представление об этом подходе и посмотреть, действительно ли это; если у кого-то еще есть другие уникальные подходы к этой проблеме, было бы весьма полезно.
UPDATE:
Спасибо всем за ваши предложения
ОБНОВЛЕНИЕ 2:
Извиняюсь за путаницу, когда я говорю целевую директорию, я имею в виду исходную папку, содержащую все файлы, которые я хочу обработать. Часть функции моей программы заключается в том, чтобы скопировать структуру каталогов исходного каталога в целевой каталог и скопировать все допустимые файлы в этот целевой каталог, сохраняя структуру каталогов исходного исходного каталога, то есть пользователь может копировать папки, содержащие файлы в исходный каталог. Я хочу предотвратить ошибки, гарантируя, что если новый набор папок, содержащих больше подпапок и файлов, будет скопирован в исходный каталог для обработки, моя программа не начнет работать в целевом каталоге до завершения процесса копирования.