AddressFilter在EndpointDispatcher错误时不匹配

时间:2015-02-26 20:14:16

标签: wcf

我有一个客户端应用程序的设置,该应用程序通过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配置正确的问题?谢谢。

1 个答案:

答案 0 :(得分:0)