关于大文件下载

senr0816 2010-03-13 09:55:45
最近在做一个大文件下载(单个文件可能达到几G甚至T),希望实现断点传续。
我想问一下,用webservice的方式,每次返回的数据量(byte[])在局域网条件下一般多大为好?公网条件下呢?这种情况下用WCF的方式好不好(我知道WCF好象有传输大小限制)。
我看过论坛上的帖子,也看过Silverlight Multi File Uploader ,但是仍然不太清楚,故开此帖,望回答~
...全文
200 8 打赏 收藏 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
websco 2010-03-15
  • 打赏
  • 举报
回复
就是用的 Silverlight Multi File Uploader 啊, 使用 WCF 时也突破不了 16KB 的限制, 在本机使用 WCF 上传一个 2.77MB 的文件要12秒,而使用 Http 的 WebClient 则只要1秒。

Silverlight Multi File Uploader 那个程序默认是使用 Http,而不是WCF,使用WCF要使用 Page.xaml.cs 中的 private bool _HttpUploader = false; 或者使用 WCF_SilverlightMultiFileUploadTestPage.aspx 测试页面
senr0816 2010-03-15
  • 打赏
  • 举报
回复
Silverlight 3.0不清楚啊,我现在用的是Silverlight 2,你可以参照Silverlight Multi File Uploader的设置,它的上传大小可以大于16k,速度也挺快
websco 2010-03-15
  • 打赏
  • 举报
回复

<customBinding>
<binding name="CustomBinding_IUploadService">
<binaryMessageEncoding maxWritePoolSize="16" />
<httpTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" />
</binding>
</customBinding>

但是 Silverlight 3.0 不支持maxWritePoolSize的配置,Silverlight 4.0也不支持
websco 2010-03-15
  • 打赏
  • 举报
回复
能否说详细一些? 使用 WCF 或WebService方式由于要多次请求服务,每次请求、连接自然是要花费时间的,如果是局域网使用,似乎是使用WebClient一次性下载更能体现速度吧。

另,请教从SL端上传数据到WCF端的16KB限制如何更改?我使用 BasicHttpBinding 和 CustomBinding 都不行,在本机使用 WCF 上传一个 2.17MB 的文件要12秒,而使用 WebClient 则只要1秒。
websco 2010-03-14
  • 打赏
  • 举报
回复
Silverlight Multi File Uploader 是文件上传,不是下载,从SL端上传数据到WCF是有大小限制(我之前的测试是16KB,目前还未进行复测),但是从WCF端发送数据到SL端的大小限制则宽松得多。

有点奇怪你搞这么大的文件下载是为了做什么,视频?电影?

Silverlight似乎在写入数据至硬盘之前要手工用SaveFileDialog()打开一个文件流才允许写入,否则是不允许写硬盘的(独立存储区除外),也就是说如果在退出SL应用程序之前,大文件还没有下载完,那么下次要再通过SL来继续下载时,还得要手工用OpenFileDialog()打开上次所使用的文件流,并Seek至断点处,这对用户来说挺麻烦的吧。
senr0816 2010-03-14
  • 打赏
  • 举报
回复
下载啥就不用管了,反正肯定是有意义的东西。。。
主要是局域网内的下载,更关心的是速度和安全性
你说的SaveFileDialog()我知道,要不然就不会来问了,因为silverlight是在客户端的,出于安全考虑,SaveFileDialog()不会返回文件路径,只会返回一个SaveFileName和文件流,我现在主要苦于webservice占用了大量的时间,而多线程的方式恰恰需要文件路径
另外:从SL端上传数据到WCF是有大小限制是可以更改的。。。
tjficcbw 2010-03-13
  • 打赏
  • 举报
回复
客观大的文件,我觉得还是用第三方的软件比较好
senr0816 2010-03-13
  • 打赏
  • 举报
回复
自己顶,有没有什么好的下载策略?

8,757

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧