Windows:如何指定分块编码大小?

时间:2015-12-22 23:35:40

标签: c# windows win-universal-app chunked-encoding

我正在使用Windows.Web.Http命名空间编写Windows UWP程序。我偶然发现一个MSDN帖子提到下面的代码将强制分块编码。它确实这样做了。我已尝试更改块大小(http请求),但大小停留在0x10000

  1. 有没有办法改变块大小?
  2. 使GetInputStreamAt(0)触发分块的理由是什么?看起来像一个奇怪的,没有记录的任何地方的副作用。它有什么逻辑吗?
  3. 以下是MSDN发布: HttpStreamContent won't save stream

    Windows.Storage.Streams.InMemoryRandomAccessStream contentStream = new Windows.Storage.Streams.InMemoryRandomAccessStream();
    Windows.Storage.Streams.DataWriter dw = new Windows.Storage.Streams.DataWriter(contentStream);
    dw.WriteBytes(System.Text.Encoding.UTF8.GetBytes(body));
    dw.StoreAsync().AsTask();
    content = new Windows.Web.Http.HttpStreamContent(contentStream.GetInputStreamAt(0));
    
    content.Headers.Add("Content-Type", "application/json; charset=utf-8");
    

    MSFT Guy Says

      

    ... contentStream.Seek(0)和contentStream.GetInputStreamAt(0)之间的区别是:使用第一种方法实际发送Content-Length HTTP标头,后跟实体主体,而第二种方法使用Transfer -Encoding:分块的HTTP头,然后是HTTP块。这在目标服务器仅接受HTTP请求的“特定”格式的情况下很有用。

0 个答案:

没有答案