2011-05-25 58 views
0

目前,我正在爲相同的服務使用BaciHttpBinding和WsHttpBindin。在介紹BasicHttpBing之前,My Client Windows應用程序使用WsHttpBindin,所以我沒有提到端點名稱。在介紹BasicHttpBinding之後,我需要在客戶端使用期望服務時將端點的名稱添加到內部。我的問題是,我必須更改所有現有的代碼與端點名稱。我如何克服這種情況,或者是否有任何方法可以在配置級別設置默認綁定,並在我沒有提供端點名稱時使用。如何在不提及端點名稱的情況下使用多個綁定WCF服務方法

回答

0

您不能在同一地址上定義多個端點,爲這兩個綁定分配兩個不同的地址。 如果是合同,您可以將地址留空,並且它會自動指向mex端點的地址,該地址用於定義元數據。 同樣,您可以使用BindingConfiguration標籤來配置綁定。

+0

非常感謝您的回覆。我的實際問題是通過WCF服務方法將文件(流)上傳到數據庫。所以默認我已經使用WsHttpBinding。但它不支持大容量文件(可能無法成功增加消息接收緩衝區和Reader quta值)。這就是爲什麼我介紹BasicHttpBinding。根據配置文件(服務器和客戶端)。我想知道,這是WsHttp和BasicHttp行爲或其他原因的方式嗎? – Tara 2011-05-25 07:25:57

+0

Tara流可以在任何綁定中完成,主要決定它的模式 – Deepesh 2011-05-25 14:41:06

0

做這樣的事情,我使用綁定配置和transmode被流傳和使用此綁定配置在我的端點

<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>

+0

這對netTCP綁定是可以的。但是我使用WsHttpBinding.maxBufferSize並且傳遞模式屬性不允許在WsHttpBinding中使用。 – Tara 2011-05-26 05:18:47

相關問題