Groups > Asp .Net > Advanced ASP.NET Architecture > Re: large file (500MB+) download




large file (500MB+) download

large file (500MB+) download
Wed, 26 Mar 2008 21:13:27 +000
I am looking for a solution to solve a large file downloading progress.  We have
a large .exe file (500MB) hosted on IIS 6.0.  Our clients experiencing slow
download performance and time-out issue.  I need help on the following topics:

      1.  supports multi-threading segmented download.

      2.  re-assemble packets into single file after all packets is completed
successfully.

In another word,  I would like to see a sample that allows me to do
multi-threading download on a large file.

 

Thanks in advance,
Post Reply
Re: large file (500MB+) download
Thu, 27 Mar 2008 03:23:34 +000
I'm confused. Do you want to write a windows application that will download the
file in segments simultaneously?

This isn't particularly hard to do, but there are so many programs out there
that already do it. I use freedownloadmanager to manage my large http
downloads.

Basically you just make a request but you include a special header which
specifies a byte range of the file that you want.

The header is called "Range" and can be set using on the
HttpWebRequest.AddRange() overloads. If that's what you're trying to achieve let
me know and i'll point you to some sample code.

MSDN has excellent sample code on how to use the WebRequest classes
asynchronously, you could just take that example and add a few lines to support
the Range functionality.

(msdn sample link:
http://msdn2.microsoft.com/en-us/library/system.net.webrequest.begingetresponse.
aspx)
Post Reply
Re: large file (500MB+) download
Thu, 27 Mar 2008 16:41:55 +000
I've tried the method of using "Range" header.  It didn't work.  There
is no improvement in downloading performance process and unable to detect the
Http Range header.  The main purpose of using Http Range header is to resume a
broken download process.  Here is the link to the sample code that i used..... 
http://forums.asp.net/t/1218116.aspx    I am taking a different approach by
creating an Adanvanced Download Manager windows app to control the client-side
(http://www.geekpedia.com/tutorial196_Creating-an-advanced-download-manager-in-C
sharp.html) .  I want to do something similar to this app which supports
multi-threading segmented download a single file. Any ideas?

 Your help is greatly appreciated
Post Reply
Re: large file (500MB+) download
Thu, 27 Mar 2008 17:06:14 +000
A different approach might be to make use of a content delivery network. (I.e.
remove the bottleneck of your internet connection from the download.)
Post Reply
Re: large file (500MB+) download
Fri, 28 Mar 2008 00:20:41 +000
"atran" wrote in message news:2259796@forums.asp.net...

I've tried the method of using "Range" header.  It didn't work.  There
is no improvement in downloading performance process and unable to detect the
Http Range header.  The main purpose of using Http Range header is to resume a
broken download process.  Here is the link to the sample code that i used..... 
http://forums.asp.net/t/1218116.aspx    I am taking a different approach by
creating an Adanvanced Download Manager windows app to control the client-side
(http://www.geekpedia.com/tutorial196_Creating-an-advanced-download-manager-in-C
sharp.html) .  I want to do something similar to this app which supports
multi-threading segmented download a single file. Any ideas?

 Your help is greatly appreciated

 
http://forums.asp.net/p/1238985/2259796.aspx#2259796

Since it sounds like at least one end has a slow and/or unreliable connection,
you may want to investigate the Background Intelligent Transfer Service (BITS) -
which is pretty much designed for these scenarios. Here's a starting point, with
a .NET wrapper, on MSDN: http://msdn2.microsoft.com/en-us/library/ms997639.aspx
--MB
Post Reply
about | contact