Windows PCL HttpClient

本文关键字:HttpClient PCL Windows | 更新日期: 2023-09-27 18:11:05

我正在使用System.Net.HttpClient从服务器读取流。我遇到的问题是,流被阻塞,直到整个响应在内存中。我想开始处理响应,因为数据来自网络。在解析之前等待整个响应太慢了。

HttpClient client = new HttpClient();
...
await client.GetStreamAsync();
/* another way I tried */
HttpResponseMessage response = await clientGetAsync();
if(response.StatusCode == HttpStatusCode.OK) {
    await response.Content
}
await response.Content.ReadAsStreamAsync();

是否有一种方法,它不一定是与HttpClient,获得流,因为它是来自使用Windows可移植类库的网络?

Windows PCL HttpClient

您必须使用SendAsyncHttpCompletionOption.ResponseHeadersRead来防止HttpClient缓冲响应流。使用此选项后,ReadAsStreamAsync将返回实际网络流的包装器,而不是MemoryStream。