C# 避免因断电而导致文件损坏
我正在用.NETC#编写一个简单的应用程序,它将ZIP文件上传到中央服务器进行处理 但是,此应用程序将使用的环境很容易频繁断电 我目前正在使用file.ReadAllBytes读取文件,并通过将生成的字节数组传递给WebClient.UploadData进行上载 假设断电中断了对ReadAllBytes的调用,是否会发生文件损坏,以及如何最好地处理这种可能性 谢谢C# 避免因断电而导致文件损坏,c#,.net-4.5,C#,.net 4.5,我正在用.NETC#编写一个简单的应用程序,它将ZIP文件上传到中央服务器进行处理 但是,此应用程序将使用的环境很容易频繁断电 我目前正在使用file.ReadAllBytes读取文件,并通过将生成的字节数组传递给WebClient.UploadData进行上载 假设断电中断了对ReadAllBytes的调用,是否会发生文件损坏,以及如何最好地处理这种可能性 谢谢 Roberto如果断电中断了读取,当然会中止读取。我不明白问题的这部分。你应该关注写作 这里有两种写入可能出错: 将ZIP文件写入磁
Roberto如果断电中断了读取,当然会中止读取。我不明白问题的这部分。你应该关注写作 这里有两种写入可能出错:
刷新。在NTFS上,重命名是原子的和崩溃安全的
如果使用这些方法检测到任何类型的错误,您需要重新启动该过程。随机思考:获取UPS?抽象地说,是的。但是对于最终用户来说这是不可能的:)文件是否在NTFS卷上?这会更“安全”,但并不安全:ReadAllBytes()不能破坏文件。UploadData()中断时会发生什么情况完全取决于服务器的FTP或HTTP实现。如果发现这个问题不需要很长时间,可以使用任务管理器终止该程序。