Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WCF发送不正确的http头“;传输编码:分块,分块“;_C#_Wcf_Http - Fatal编程技术网

C# WCF发送不正确的http头“;传输编码:分块,分块“;

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

我们有一些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 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服务曾经发送了与我们相同的错误标题。他们是怎么修好的

有没有人知道是什么导致了这种行为,以及如何解决? 谢谢。

这可能与压缩样本中的一些问题有关,这些问题已在中得到解决。我在一个使用率很高的生产站点上实现了该文章代码的一个版本,但从来没有看到过这个问题(在那篇博文中说“我已经向示例团队报告了这个错误,应该在下一个版本中清除它”,但从来没有另一个版本……)这可能与压缩样本中存在的一些问题有关,这些问题在本文中得到了解决。我在一个使用率很高的生产站点上实现了该文章代码的一个版本,但从来没有看到过这个问题(在那篇博文中说“我已经向示例团队报告了这个错误,应该在下一个版本中清除它”,但从来没有另一个版本……)