Письменные файлы транзакции в C # и Windows?

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

Если нет, то как другим решить эту проблему? Как база данных в Windows решает эту проблему?

Обновление : Я не хочу использовать транзакционные возможности NTFS, потому что он не доступен на более старой версии Windows, таких как XP, и это медленно в сценарии перезаписи файлов как описано выше.

12
задан Phil Wright 4 September 2011 в 07:49
поделиться