2010-08-25 6 views
1

Как я могу реализовать автосохранение в C#? Я считаю, что сохранение в открывшемся в настоящее время файла является простым, но я не хочу перезаписывать свой предыдущий файл (или должен ли я просто это сделать? Я думаю, что документы google сохраняют/перезаписывают документ, если у них есть контроль версий?). Я думал о сохранении в другом файле, но где я могу сохранить?C#/WPF: Реализация автосохранения

также я предполагаю, что я должен знать, если есть какие-либо автосохранение файлов для извлечения и после явного сохранения, я должен удалить файл автосохранения, связанный с текущим документом

ответ

4

Текущие версии Microsoft Office (например), за исключением к «теневой копии» рабочего файла. В зависимости от того, как вы хотите, чтобы он работал, вы можете записывать приложения в теневую копию каждые n секунд или когда предпринимаются определенные действия.

Когда программа выключена, оригинал удаляется, а теневая копия переименовывается в оригинал. В рамках этого метода существует множество вариантов и стратегий, которые могут применяться в зависимости от конкретной ситуации и требований.

+0

Вы говорите, когда прога отключается, теневая копия заменяет оригинал? и где хорошее место для сохранения этих временных файлов? –

+0

Офис сохраняет теневую копию в той же папке, что и оригинал, с ~ в начале имени файла. –

1

Вы должны создать временный файл для автосохранения. Если Пользователь сохраняет, вы можете удалить файл, и если ваше приложение аварийно завершает работу и перезагружается, оно может загрузить последнее состояние автосохранения из файла.

Смежные вопросы