WCF 4.5 支持 GZIP,无需第三方库或手写扩展。我通过 TCP 绑定使其工作,但找不到通过 HTTP 绑定使其工作的方法。我的 wcf - 服务自托管在 Windows 服务中。
插件:我不允许使用 IIS;我无法切换到任何 WCF 替换。
这适用于 gzip:
binding="customBinding" bindingConfiguration="tcpCompressionBinding" name="tcp"
这就是我目前用于http的:
binding="basicHttpBinding" bindingConfiguration="httpBinding" name="http"
该文档并没有真正帮助我:http: //msdn.microsoft.com/en-us/library/dd456789.aspx。
但是,据此它应该工作:
从 WCF 4.5 开始,WCF 二进制编码器增加了对压缩的支持。压缩类型由 CompressionFormat 属性配置。客户端和服务都必须配置 CompressionFormat 属性。压缩适用于 HTTP、HTTPS 和 TCP 协议。如果客户端指定使用压缩但服务不支持它,则会引发协议异常,指示协议不匹配。有关更多信息,请参阅选择消息编码器