下载时异步读取HttpWebRequest中的数据

时间:2013-02-04 12:13:18

标签: c# asynchronous httpwebrequest

在请求下载资源时,如何以异步方式从HttpWebRequest读取接收的数据?

我想下载一个文件并立即开始处理收到的字节。我已经找到了很多例子如何异步调用HttpWebRequest,但是直到下载完成才读取数据:

HttpWebRequest webRequest;

void StartWebRequest()
{
    webRequest.BeginGetResponse(new AsyncCallback(FinishWebRequest), null);
}

void FinishWebRequest(IAsyncResult result)
{
    webRequest.EndGetResponse(result);
}

1 个答案:

答案 0 :(得分:2)

webRequest.EndGetResponse(result);

你还没有读过任何回复正文。 EndGetResponse返回一个HttpWebResponse,您必须在其上调用GetResponseStream。该流包含实际的响应主体,您可以使用标准流方法快速或慢速地读取它。