Buduję aplikację serwera, która kopiuje pliki przy użyciu funkcji System.IO.File.Copy (...). Moje pliki mogą być dość duże, więc istnieje spora szansa, że jeśli komputer się zawiesza, dzieje się to podczas kopiowania.Kopia pliku Atomic pod .NET
Po ponownym uruchomieniu usługi powinienem móc odebrać zadania kopiowania i kontynuować. Jak mogę wykryć, czy kopia została pomyślnie zakończona lub przerwana przez awarię serwera?
Mój obecny plan to skopiowanie plików do tymczasowej nazwy, a po zakończeniu kopiowania zmiana nazwy na ostateczną. W ten sposób nazywanie plików jest w stanie przenosić informacje o stanie na skutek awarii.
Czy masz jakieś dobre/lepsze sugestie?
EDIT: docelowa OS Win2003 jest zatem transakcyjne NTFS nie jest dostępna
Patrz także: http://stackoverflow.com/questions/15274861/file-move-atomic -operacja –