Возникает следующая проблема: Создаю Веб запрос к серверу Apache, в процессе получения данных файла с этого сервера передача прекращается примерно на половине загруженного. То что Сервер с которого беру данные работает правильно я уверен.
В чём может быть проблема.
Я делаю следующим образом:
private HttpWebRequest GetRequest(string m_url)
{
Response.Expires = 0;
HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(m_url);
wr.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.NoCacheNoStore);
return wr;
}
private int ReadPart(string url,int from, int to, StreamWriter sw)
{
HttpWebRequest r = GetRequest(url);
r.AllowAutoRedirect = true;
r.Method = "GET";
r.KeepAlive = true;
r.AddRange(from, to);
HttpWebResponse res = (HttpWebResponse)r.GetResponse();
Stream data = res.GetResponseStream();
long ContentLength = res.ContentLength;
BinaryReader sr = new BinaryReader(data);
int readed = 0;
int bufsize = 1024 * 50;
Char[] read = new Char[bufsize];
int count = sr.Read(read, 0, bufsize);
while (count != 0)
{
sw.Write(read, 0, count);
readed += count;
count = sr.Read(read, 0, bufsize);
}
sr.Close();
data.Close();
res.Close();
return readed;
}
Собствеено закачка фала и сохранение его на диск
StreamWriter sw = new StreamWriter("Имя файла.");
int readed=0;
// ReadPart загружаю файл по частям
readed += ReadPart(url, readed + 1, to), sw);
sw.Close();