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