我们有一些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)没有说明他们如何修复它。
有谁知道什么会导致这种行为以及如何解决? 感谢。