Използвам HttpWebRequest в C# за Windows Phone 8, за да изтегля файл от отдалечен сървър. Заявката се анулира след определено време с помощта на таймаут, който извиква HttpWebRequest.Abort().
Това работи добре, но бих искал да получа достъп до данните, които вече са изтеглени, включително заглавките, изпратени от сървъра, дори ако изтеглянето (заявката) все още не е завършено:
HttpWebRequest _request = (HttpWebRequest)WebRequest.Create("http://urltofile.zip");
_request.Method = "GET";
_timeout.Start(); // a timer which calls _request.Abort() after a certain time
request.BeginGetResponse(new AsyncCallback(HandleResultAsync), _request);
public void HandleResultAsync(IAsyncResult result)
{
HttpWebRequest request = (HttpWebRequest)result.AsyncState;
HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(result); // exception is raised here when "_request.Abort()" is called from the timer
}
Когато "HttpWebRequest.Abort()" се извика от таймера, тогава се извиква методът "HandleResultAsync". Но достъпът до „request.EndGetResponse()“ за получаване на вече изтегления хедър и частично съдържание е неуспешен, защото отговорът вече е приключил.
Как мога да получа достъп до евентуално изтеглената заглавка и частично съдържание?
За разбирането,