【发布时间】:2011-01-14 09:26:55
【问题描述】:
我正在构建一个使用 System.IO.File.Copy(...) 函数复制文件的服务器应用程序。我的文件可能相当大,因此,如果机器崩溃,它很有可能发生在复制过程中。
重新启动服务后,我应该可以拿起复制任务并继续。如何检测副本是否已成功完成或因服务器崩溃而中断?
我目前的计划是将文件复制到一个临时名称,并在复制完成后将其重命名为最终名称。这样文件命名就能够在崩溃时携带状态信息。
你有什么好的/更好的建议吗?
编辑:目标操作系统是 Win2003,因此事务性 NTFS 不可用
【问题讨论】:
标签: .net file-transfer robustness atomic