2013-03-04 2 views
0

Я использую транзакционную оболочку NTFS, которая доступна в msdn here для поддержки атомных транзакций операций файловой системы, в доступном примере показано, как работать с transactedFiles, но мне также нужно создавать, перемещать и копировать транзакционные каталоги , Я не знаю, как использовать TransactedDirectory Class, не могли бы вы помочь? Я попробовал этот код, но это не кажется правильным:Транзакционная обертка NTFS

if (Transaction.Current == null) 
     { 
      throw new Exception("Must be within a transaction scope"); 
     } 
     using (TransactionScope folderTransaction = new TransactionScope(Transaction.Current)) 
     { 
      TransactedDirectory.StartTxFResource("D:\\New"); 

      folderTransaction.Complete(); 
      TransactedDirectory.StopTxFResource("D:\\New"); 

     } 

он дает ошибку «Отказано в доступе, папка используется другим процессом».

ответ

0

Под какой учетной записью пользователя работает ваш процесс? Проверьте, есть ли у него доступ к папке D:\New.

Для быстрой проверки запустите процесс как администратор (щелкните правой кнопкой мыши myprocess.exe> ​​Запуск от имени администратора), и если он будет работать, вы должны либо установить правильные разрешения, либо настроить свой код для доступа к уровню доступа администратора.

Смежные вопросы