0

リクエストがリソースをダウンロードしている間に、受信したデータを HttpWebRequest から非同期的に読み取るにはどうすればよいですか?

ファイルをダウンロードして、受信したバイトの処理をすぐに開始したい。HttpWebRequest を非同期に呼び出す方法の例をたくさん見つけましたが、ダウンロードが完了するまでデータは読み取られません。

HttpWebRequest webRequest;

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

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

1 に答える 1

2

ラインで

webRequest.EndGetResponse(result);

あなたはまだ応答本文を読んでいません。EndGetResponseは、 GetResponseStream を呼び出す必要があるHttpWebResponseを返します。ストリームには実際の応答本文が含まれており、標準のストリーム メソッドを使用して、これを好きなだけ速くまたは遅く読み取ることができます。

于 2013-02-04T12:26:18.053 に答える