我有一个 ServiceStack 客户端,它调用一个服务,该服务返回一个 100MB 到 10GB 的大数据文件。Stream.CopyTo
目前,此客户端使用保存到文件的方法在 LAN 上完美运行。
当客户端通过 WAN(除了通过 LAN)运行时,如果它停止或失去连接,则恢复下载以及查看进度的能力变得很重要。
该服务支持发送部分文件,但我不清楚如何在 ServiceStack 客户端中支持这一点,或者即使它是内置的,我也没有意识到。
此外,复制到另一个的CopyTo
方法不会报告其进度,因此对于一个大文件,它可能需要几个小时,而且您无法告诉它的进度。我看过有关报告进度的方法的帖子,但在我正在使用的课程的任何地方都找不到。stream
stream
CopyFrom
我的环境是最新版本的 ServiceStack 和 Mac OS X 上的最新版本 Mono 和 Windows 上的 .NET 4.5。
能够对不同段的文件进行并发下载将是理想的,但能够恢复下载将是一个巨大的帮助。
有人可以指出在 ServiceStack 客户端中执行此操作的最佳方法吗?我发现的大多数示例仅适用于普通的 Web 客户端,并且非常古老,因此想看看使用 dotnet 和 mono 的更高版本以及 ServiceStack 的最佳方法是什么。
如果可能的话,一个基本的例子将是完美的。