如何使用多重绑定WCF服务方法而无需提及端点名称

问题描述

| 目前,我将BaciHttpBinding和WsHttpBindin用于同一服务。在介绍BasicHttpBing之前,我的客户端Windows应用程序使用WsHttpBindin,因此我没有提及端点名称。引入BasicHttpBinding之后,我需要在客户端中使用所需服务时提及端点的名称。我的问题是,我必须使用端点名称更改所有现有代码。我该如何克服这种情况,或者有什么方法可以在配置级别设置认绑定,当我不提供端点名称时可以使用该认绑定。     

解决方法

您不能在同一地址上定义多个端点,而为两个绑定分配两个不同的地址。 如果有合同,可以将地址留空,它将自动指向mex端点的地址,该地址用于定义元数据。 同样,您可以使用BindingConfiguration标记来配置绑定。     ,做这样的事情,我正在使用绑定配置和流模式,并在我的端点中使用此绑定配置
<binding name=\"StreamBinding\" closeTimeout=\"00:59:00\" openTimeout=\"00:10:00\"
 sendTimeout=\"00:10:00\" maxBufferPoolSize=\"700000000\" maxBufferSize=\"2147483647\"
 maxReceivedMessageSize=\"2147483647\" transferMode=\"Streamed\">
 <readerQuotas maxStringContentLength=\"2147483647\" maxArrayLength=\"1000\" />
 <reliableSession inactivityTimeout=\"02:00:00\" />
 <security mode=\"None\"></security>  </binding>      
<endpoint address=\"\" binding=\"netTcpBinding\" bindingConfiguration=\"StreamBinding\"
    bindingName=\"\" contract=\"DBSInterface.Common.IFileTransfer\">
    <identity>
        <dns value=\"localhost\" />
    </identity>
</endpoint>