C # - Блокировка изменения папки во время обработки

У меня есть однопоточная программа, которая обрабатывает папки и файлы в исходном каталоге. Есть ли способ заблокировать папку с файлами в моем исходном каталоге от изменения другими процессами, пока моя программа работает над ней? Я думаю о чем-то вроде установки какой-то исключительной блокировки на саму папку, чтобы ее мог использовать только процесс моей программы.

ПРИМЕЧАНИЕ:

Я не хочу блокировать сам корневой исходный каталог, просто любые папки на верхнем уровне этого каталога, Я могу обрабатывать в любой момент. Я по-прежнему хочу иметь возможность разрешать внешним процессам добавлять папки в исходный каталог, пока я обрабатываю другие папки.

ОБНОВЛЕНИЕ:

@Yuri - Да, это программа Windows, приложение службы Windows должно быть

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

8
задан kingrichard2005 14 January 2011 в 17:06
поделиться