How about using the HttpRequest class with a call to the AddRange method. This should be a header with an offset from which to start the download.
var request = HttpWebRequest.Create(new Uri("http://www.myurl.com/hugefile"));
request.Method = "GET";
request.AddRange(offset_for_this_thread);
Stream reponseStream = request.GetResponse().GetResponseStream();
You can then read the data from the'responseStream 'report and combine it with other streams when this is done.
, , , , , - ... Windows wil .