根据某些特定项目的要求,需要在(慢)网络上复制相对较大的文件。执行此操作的软件当前使用File.Copy执行此操作。每当文件复制期间发生错误时,该过程只会一次又一次地重试File.Copy操作。
由于网络的性质和传递的文件大小,在文件复制过程中的某个地方进行数据传输时会出现错误,这需要反复复制相同的数据。
我正在考虑一个解决方案,当文件以块的形式传递,并且当一个块无法传递(最好检查一个校验和)时,只会再次请求这一块数据,这样任何数据数据都已经通过了已经过验证。像这些高级文件下载程序的东西,如果文件复制在中间失败,你可以下载部分文件。
我想知道是否有一些用于此类目的的现成解决方案。 提前谢谢。
答案 0 :(得分:1)
如果你不介意切换技术,你可以去FTP传输,肯定有.net的库。
FTP允许您恢复转移。
如果您需要保证交付,您可能会考虑消息排队(但这不会阻止您在失败时重新发送)