Silverlight大文件下载器

时间:2011-02-09 16:28:27

标签: silverlight file download

我有一个有趣的方法:编组文件下载的能力 - 许多是千兆字节的数据区域。

我有一个silverlight网站,允许使用以下插件上传大量数据(Gigs):http://silverlightuploader.codeplex.com/

但是,我也希望能够允许用户下载相同的数据。但我希望能够限制并发下载量。因此,通过Silverlight直接控制客户端数据流的想法很有吸引力 - 因为我不想在机器上直接安装任何东西。

我的问题是:对于我正在检索的数据量是否适合使用WebClient类(我可以指定我要读取的http流中有多少字节,所以我可以逐步下载它,然后放入一些业务规则围绕它检查当前正在下载的人数,并让它等到用户数量下降...),或者我可以使用套接字来保持HTTP的开销吗?

除非有一个项目,否则我找不到哪个做到了这一点!

提前干杯,

马特

1 个答案:

答案 0 :(得分:0)

只要您以较小的大小下载数据,那么总文件的实际数量将无关紧要,您用于下载的内容并不重要。例如,对于那个大小的文件,我只使用WebClient类,一次下载大概1或2 Mb的chuck到磁盘上的临时存储文件。你必须跟踪你已经下载了多少以及你需要从哪里开始下一个查克,但这不是一个问题。您可以使用套接字,但是您必须自己与Web服务器通信才能首先访问该文件。

当客户端连接下载下一个块时,您可以在此处强制执行与并发用户数相关的业务逻辑。可能有一个库可以用来完成所有这些,但说实话,这不是一个复杂的问题。