我只是想启用gzip压缩到以下绑定。
这是我目前在我的配置文件中的内容。
<netHttpsBinding>
<binding name="MutualCertificateBinding" maxReceivedMessageSize="9223372036854775807" receiveTimeout="00:20:00" sendTimeout="00:20:00" transferMode="Streamed" messageEncoding="Binary">
<security mode="Transport">
<transport clientCredentialType="Certificate" />
</security>
<webSocketSettings transportUsage="Always" />
</binding>
</netHttpsBinding>
根据MSDN, tcp, http和https在WCF中都能够压缩到4.5,我在4.5.2。
请记住,我实际上使用的是带有回调合约的WCF合约,因此需要双工。
我很高兴用自定义绑定代替我的绑定,因为我控制着两边,它们都是。net,但我一直无法弄清楚如何创建任何支持websockets的自定义绑定。
好的,我一直在尝试不同的东西,这是我最终想出的,它的工作。:)
<binding name="GZipMutualCertificateBinding" receiveTimeout="00:20:00" sendTimeout="00:20:00">
<binaryMessageEncoding compressionFormat="GZip" />
<httpsTransport maxReceivedMessageSize="9223372036854775807" requireClientCertificate="true" transferMode="Streamed">
<webSocketSettings transportUsage="Always" />
</httpsTransport>
</binding>
这是通过试验和错误发现的,如果你看到任何看起来不合适的地方,请告诉我。谢谢。