C# WCF发送不正确的http头“;传输编码:分块,分块“;
我们有一些WCF流式服务,它们使用自定义绑定进行gzip编码。我们的GZIP编码器受Microsoft GZipMessageEncoder示例的启发: 这是我们的约束力:C# WCF发送不正确的http头“;传输编码:分块,分块“;,c#,wcf,http,C#,Wcf,Http,我们有一些WCF流式服务,它们使用自定义绑定进行gzip编码。我们的GZIP编码器受Microsoft GZipMessageEncoder示例的启发: 这是我们的约束力: <binding name="GZipBinding" sendTimeout="00:20:00" openTimeout="00:20:00" receiveTimeout="00:20:00" closeTimeout="00:20:00"> <gzipMessageEncoding inne
<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头设置为“Transfer Encoding:chunked”,这是流式服务所需的。然而,偶尔,这个头会得到一个错误的值:“传输编码:chunked,chunked”;然后服务器响应错误“501:未实现”
我们从来没有在代码中显式地设置这个头
我们在网上发现的唯一一个类似问题是salesforce.com遇到的:他们的OAuth服务曾经发送了与我们相同的错误标题。他们是怎么修好的
有没有人知道是什么导致了这种行为,以及如何解决?
谢谢。这可能与压缩样本中的一些问题有关,这些问题已在中得到解决。我在一个使用率很高的生产站点上实现了该文章代码的一个版本,但从来没有看到过这个问题(在那篇博文中说“我已经向示例团队报告了这个错误,应该在下一个版本中清除它”,但从来没有另一个版本……)这可能与压缩样本中存在的一些问题有关,这些问题在本文中得到了解决。我在一个使用率很高的生产站点上实现了该文章代码的一个版本,但从来没有看到过这个问题(在那篇博文中说“我已经向示例团队报告了这个错误,应该在下一个版本中清除它”,但从来没有另一个版本……)