Этот вопрос уже имеет ответ здесь:
Я использовал TransactionScope для работы с базой данных, и это чувствует себя прекрасно. То, что я ищу, следующее:
using(var scope=new TransactionScope())
{
// Do something with a few files...
scope.Complete();
}
но очевидно это не работает - если существует 20 файлов, и исключение происходит на 9-м файле, все предыдущие 8 остаются измененными и остальные неизменные - никакой откат не выполняется. Так, каков был бы лучший способ реализовать подобное объему поведение для файлов?
Я надеюсь, что существует простой ответ, но в противном случае Вы могли просто дать мне несколько подсказок или указать на меня на похожую статью?
Вы ищете транзакционную NTFS , появившуюся в Windows Vista.