如何在 WCF websocket 双工 nethttpsbinding 上启用 gzip 压缩
How can I enable gzip compression on WCF websocket duplex nethttpsbinding
我只想对以下绑定启用 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>
According to MSDN从 4.5 开始,WCF 中的 tcp、http 和 https 都可以压缩,我使用的是 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>
这是通过反复试验发现的,如果您发现任何不合适的地方,请告诉我。谢谢
我只想对以下绑定启用 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>
According to MSDN从 4.5 开始,WCF 中的 tcp、http 和 https 都可以压缩,我使用的是 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>
这是通过反复试验发现的,如果您发现任何不合适的地方,请告诉我。谢谢