我有一个客户端应用程序的设置,该应用程序通过SSL在中间连接到IIS托管的WCF服务和负载均衡器。当我尝试使用textMessageEncoding时,以下配置有效。
服务器:
<binding name="customBinding_IRequestService_gzip2">
<textMessageEncoding messageVersion="Soap11" />
<httpTransport maxReceivedMessageSize="2147483647"></httpTransport>
</binding>
客户端:
<binding name="customBinding_IRequestService_gzip_secure">
<textMessageEncoding messageVersion="Soap11" />
<httpsTransport maxReceivedMessageSize="2147483647"></httpsTransport>
</binding>
但是,我想使用binaryMessageEncoding来利用压缩,所以我将配置更改为:
服务器:
<binding name="customBinding_IRequestService_gzip2">
<binaryMessageEncoding compressionFormat="GZip">
<readerQuotas maxDepth="64"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="4096"
maxNameTableCharCount="16384"/>
</binaryMessageEncoding>
<httpTransport maxReceivedMessageSize="2147483647"></httpTransport>
</binding>
客户端:
<binding name="customBinding_IRequestService_gzip_secure">
<binaryMessageEncoding compressionFormat="GZip">
<readerQuotas maxDepth="64"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="4096"
maxNameTableCharCount="16384"/>
</binaryMessageEncoding>
<httpsTransport maxReceivedMessageSize="2147483647"></httpsTransport>
</binding>
现在我收到了这个错误:
System.ServiceModel.EndpointNotFoundException:带有To的消息 由于a,“https://myurl/gzip”无法在接收方处理 AddressFilter在EndpointDispatcher上不匹配。检查一下 发送者和接收者的EndpointAddresses同意。
我尝试按照其他帖子中的建议合并allowInsecureTransport,但错误跟踪变得更糟。这两种编码之间可能有什么区别?是否有可能需要在负载均衡器上更改某些内容,或者这只是让WCF配置正确的问题?谢谢。
答案 0 :(得分:0)