Я создаю серверное приложение, которое копирует файлы с помощью функции System.IO.File.Copy(...). Мои файлы могут быть довольно большими, поэтому у него есть справедливая вероятность, что если машина выйдет из строя, это произойдет во время копирования.
После перезапуска службы я смогу подобрать задачи копирования и продолжить. Как определить, успешно ли завершена или прервана копия сервера?
Мой текущий план состоит в том, чтобы скопировать файлы во временное имя и после завершения копирования переименовать его в окончательное имя. Таким образом, имя файла может переносить информацию о состоянии после сбоя.
Есть ли у вас хорошие/лучшие предложения?
EDIT: целевая ОС - Win2003, поэтому транзакционная NTFS недоступна