Я относительно новичок в C#, поэтому, пожалуйста, потерпите со мной.
Я пишу бизнес-приложение (на C#, .NET 4), которое должно быть надежным. Данные будут храниться в файлах. Файлы будут регулярно модифицироваться (переписываться), поэтому я боюсь, что что-то может пойти не так (потеря питания, приложение погибает, система зависает, ...) при сохранении данных, которые (я думаю) приведут к повреждению файла. Я знаю, что данные, которые не были сохранены, теряются, но я не должен терять данные, которые уже были сохранены (из-за повреждения или ...).
Моя идея состоит в том, чтобы иметь 2 версии каждого файла и каждый раз переписывать самый старый файл. Тогда в случае неожиданного окончания моего приложения хотя бы один файл должен быть действителен.
Является ли это хорошим подходом? Есть ли что-нибудь еще, что я мог бы сделать? (База данных не является вариантом)
Спасибо за ваше время и ответы.