мы можем заблокировать каталог? - PullRequest
3 голосов
/ 16 сентября 2009

Я использую VSTS 2008 + C # + .Net 3.5 для разработки консольного приложения. Для доступа к файлу мы можем получить доступ к файлу в монопольном режиме, который блокирует доступ к файлу другим процессам / потокам, что приводит к «блокировке» файла.

Меня интересует каталог, есть ли какой-нибудь встроенный API или решение, позволяющее сделать каталог эксклюзивным доступом - имеет эффект "заблокирован"? Например, если один поток «блокирует» каталог, другой поток / процесс не может вызвать Directory.GetFiles, не может записать файл в каталог, не может прочитать файл из каталога и т. Д.

Ответы [ 2 ]

1 голос
/ 16 сентября 2009

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

1 голос
/ 16 сентября 2009

Я думаю, что вы можете сделать, это установить контроль доступа в каталоге и затем изменить его обратно, когда вы закончите. Посмотрите здесь:

http://msdn.microsoft.com/en-us/library/system.io.directory.setaccesscontrol.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...