问题描述
|
目前,我将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>