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