关于大文件下载
最近在做一个大文件下载(单个文件可能达到几G甚至T),希望实现断点传续。
我想问一下,用webservice的方式,每次返回的数据量(byte[])在局域网条件下一般多大为好?公网条件下呢?这种情况下用WCF的方式好不好(我知道WCF好象有传输大小限制)。
我看过论坛上的帖子,也看过Silverlight Multi File Uploader ,但是仍然不太清楚,故开此帖,望回答~
[解决办法]
客观大的文件,我觉得还是用第三方的软件比较好
[解决办法]
Silverlight Multi File Uploader 是文件上传,不是下载,从SL端上传数据到WCF是有大小限制(我之前的测试是16KB,目前还未进行复测),但是从WCF端发送数据到SL端的大小限制则宽松得多。
有点奇怪你搞这么大的文件下载是为了做什么,视频?电影?
Silverlight似乎在写入数据至硬盘之前要手工用SaveFileDialog()打开一个文件流才允许写入,否则是不允许写硬盘的(独立存储区除外),也就是说如果在退出SL应用程序之前,大文件还没有下载完,那么下次要再通过SL来继续下载时,还得要手工用OpenFileDialog()打开上次所使用的文件流,并Seek至断点处,这对用户来说挺麻烦的吧。
[解决办法]
能否说详细一些? 使用 WCF 或WebService方式由于要多次请求服务,每次请求、连接自然是要花费时间的,如果是局域网使用,似乎是使用WebClient一次性下载更能体现速度吧。
另,请教从SL端上传数据到WCF端的16KB限制如何更改?我使用 BasicHttpBinding 和 CustomBinding 都不行,在本机使用 WCF 上传一个 2.17MB 的文件要12秒,而使用 WebClient 则只要1秒。