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可移植类库的网络?
您必须使用SendAsync
和HttpCompletionOption.ResponseHeadersRead
来防止HttpClient
缓冲响应流。使用此选项后,ReadAsStreamAsync
将返回实际网络流的包装器,而不是MemoryStream。