Estoy compilando una aplicación de servidor que copia archivos utilizando la función System.IO.File.Copy (...). Mis archivos pueden ser bastante grandes, por lo tanto, existe una buena probabilidad de que si la máquina falla, ocurra durante la copia.Copia de archivo atómico en .NET
Después de reiniciar el servicio, debería poder retomar las tareas de copia y continuar. ¿Cómo puedo detectar si una copia se ha completado o interrumpido con éxito debido a un bloqueo del servidor?
Mi plan actual es copiar los archivos a un nombre temporal y una vez que haya copiado, renombrarlo con el nombre final. De esta forma, el nombre del archivo puede llevar la información del estado a lo largo del bloqueo.
¿Tiene alguna buena/mejor sugerencia?
EDIT: SO destino es Win2003, por lo tanto, NTFS transaccionales no está disponible
Ver también: http://stackoverflow.com/questions/15274861/file-move-atomic -operación –