【问题标题】:Windows PCL HttpClientWindows PCL HttpClient
【发布时间】:2013-04-26 14:08:11
【问题描述】:

我正在使用 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 可移植类库?

【问题讨论】:

    标签: c# windows-phone-8 .net-4.5 async-await dotnet-httpclient


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-18
      • 1970-01-01
      • 2016-11-14
      • 2017-05-14
      相关资源
      最近更新 更多