WCF发送错误的http标头"传输编码:chunked,chunked"

时间:2016-03-10 15:22:05

标签: c# wcf http

我们有一些WCF流服务,它们使用自定义绑定进行gzip编码。我们的GZIP编码器的灵感来自那里的Microsoft GZipMessageEncoder示例:https://www.microsoft.com/en-us/download/details.aspx?id=21459

这是我们的约束力:

<binding name="GZipBinding" sendTimeout="00:20:00" openTimeout="00:20:00" receiveTimeout="00:20:00" closeTimeout="00:20:00">
    <gzipMessageEncoding innerMessageEncoding="textMessageEncoding">
        <readerQuotas maxStringContentLength="20000000" maxDepth="600" maxArrayLength="20000000" maxBytesPerRead="20000000"/>
    </gzipMessageEncoding>
    <httpTransport transferMode="Streamed" maxBufferSize="1048576" maxReceivedMessageSize="2147483647" maxBufferPoolSize="1048576"/>
</binding>

当使用POST查询调用这些服务时,WCF客户端会设置http标头&#39; Transfer-Encoding:chunked&#39;,这是流服务所需的。但是,有一段时间,此标头的值不正确:&#39;转移编码:chunked,chunked&#39 ;;然后服务器响应错误&#39; 501:未实现&#39;。

我们从未在代码中明确设置此标头。

salesforce.com遇到了我们在网上找到的唯一类似问题:他们的OAuth服务曾发送过与我们相同的错误标题。 (https://developer.salesforce.com/forums/?id=906F00000008mDUIAY)没有说明他们如何修复它。

有谁知道什么会导致这种行为以及如何解决? 感谢。

0 个答案:

没有答案