我在 C# 中为 Windows Phone 8 使用 HttpWebRequest 从远程服务器下载文件。请求在一定时间后使用调用 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()”以获取已下载的标头和部分内容失败,因为响应已经结束。
如何访问最终下载的标题和部分内容?
问候,