Как гарантировать, что данные не будут повреждены при сохранении в файл?

Я относительно новичок в C#, поэтому, пожалуйста, потерпите со мной.

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

Моя идея состоит в том, чтобы иметь 2 версии каждого файла и каждый раз переписывать самый старый файл. Тогда в случае неожиданного окончания моего приложения хотя бы один файл должен быть действителен.

Является ли это хорошим подходом? Есть ли что-нибудь еще, что я мог бы сделать? (База данных не является вариантом)

Спасибо за ваше время и ответы.

7
задан Brian Roach 27 April 2014 в 03:25
поделиться