我正在尝试使用netTCP端点为我们的WCF服务实现压缩。我已经阅读了几乎所有开发者网络帖子以及SO上的帖子都无济于事。
如何配置客户端端点CompressionFormat (See compression and the binary encoder)属性?当您在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>