传输编码:在 Windows Phone 中分块

kza*_*kza 5 c# silverlight httpwebrequest transfer-encoding windows-phone-7

我有一个带有 Transfer-Encoding: chunked 的服务器响应

HTTP/1.1 200 OK
Server: nginx/1.2.1
Date: Mon, 18 Feb 2013 08:22:49 GMT
Content-Type: application/json; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding

c7
{<some json data>}
0
Run Code Online (Sandbox Code Playgroud)

在 json 数据之前查看 c7 块大小。

如何在 Windows Phone 中使用 读取没有块的原始响应流HttpWebResponse


提示:要使服务器禁用分块输出,我只需要指定 HTTP/1.0 协议版本。但我不知道该怎么做,因为Windows Phone 或 Silverlight 中没有类中的ProtocolVersion属性HttpWebRequest

kza*_*kza 1

HttpClient能够自动解析分块输出 http://msdn.microsoft.com/en-us/library/system.net.http.httpclient(v=vs.110).aspx

HttpClient总体而言,PostAsync 和 GetAsinc 以及大量其他优点是一件很酷的事情。我再也没有使用过 HttpWebRequest。

HttpClient可在 .NET Framework 4.5、Windows 8 或 Windows Phone 8.1 中轻松使用

如果您需要 HttpClient - .NET Framework 4 - Windows Phone Silverlight 7.5 - Silverlight 4 - 可移植类库,请使用 NuGet 包http://www.nuget.org/packages/Microsoft.Net.Http