2009-12-11 34 views

回答

11

你可以在同一個契約和不同地址的clieint配置中有多個端點,沒問題。

它們需要用<endpoint>標記上的唯一name=屬性分隔。

<client> 
    <endpoint name="tcpEndpoint" 
      address="net.tcp://server:8888/SomeService" 
      binding="netTcpBinding" 
      contract="IYourService" /> 
    <endpoint name="httpEndpoint" 
      address="http://server:8777/SomeService" 
      binding="basicHttpBinding" 
      contract="IYourService" /> 
</client> 

當您創建客戶端代理,您需要提供您要使用的端點的名稱:

YourClient client = new YourClient("netTcpEndpoint"); 

可以不再僅僅實例化你的客戶,並期望它尋找」 「端點使用,因爲有多個(不幸的是,如果沒有指定,就沒有辦法將其定義爲」默認「)。

除此之外 - 我認爲不會出現任何問題。

+0

ya。與ex:basicHttpbinding + wsHttpBinding + netTcpBinding同時連接是沒有意義的。 – vidalsasoon 2009-12-11 14:04:02

+0

@vidal:不是真的,沒有:-)但是你**可以**有一個客戶端通過netTcp,另一個客戶端實例通過http - 如果你需要(不知道爲什麼需要這樣做 - 但你**可以** ;-) – 2009-12-11 14:05:40

+1

如果您有一個java web客戶端和一個.Net胖客戶端,可以用作一個真實的例子。 java客戶端使用http和.Net客戶端使用net.tcp – softveda 2009-12-11 14:29:49

相關問題