我正在尝试使用 netTCP 端点为我们的 WCF 服务实现压缩。我已经阅读了几乎所有的开发者网络帖子,以及关于 SO 的帖子,但无济于事。
如何配置客户端端点 CompressionFormat(请参阅压缩和二进制编码器) 属性?当您在 VS 中添加服务引用以获取生成的端点时,这实际上是否必要?
我已经在服务器 app.config 文件中完成了端点的标准配置:
<customBinding>
<binding name="tcpCompression">
<windowsStreamSecurity protectionLevel="None"/>
<binaryMessageEncoding compressionFormat="GZip"/>
<tcpTransport/>
</binding>
...
</customBinding>
我可以使用此端点从客户端拨打电话。
这是客户端端点:
编辑:我已经更改了客户端上使用的绑定以在客户端实现压缩:
<endpoint
address="net.tcp://localhost:8734/Quasar/QuasarService"
binding="customBinding"
bindingConfiguration="netTcpCompression"
contract="Quasar.IQuasarService"
name="CustomBinding_IQuasarService">
<identity>
<userPrincipalName value="foo@bar.com" />
</identity>
</endpoint>
<customBinding>
<binding name="netTcpCompression">
<windowsStreamSecurity protectionLevel="None"/>
<binaryMessageEncoding compressionFormat="GZip"/>
<tcpTransport maxReceivedMessageSize="1000000"/>
</binding>
</customBinding>