2009-12-11 10 views

risposta

11

È possibile avere più endpoint per lo stesso contratto e diversi indirizzi nella configurazione di clieint, nessun problema.

Devono essere separati da un attributo name= univoco nel tag <endpoint>.

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

Quando si crea un proxy client, è necessario fornire il nome dell'endpoint che si desidera utilizzare:

YourClient client = new YourClient("netTcpEndpoint"); 

È possibile non più solo un'istanza per il cliente e si aspettano di trovare "la "endpoint da utilizzare, poiché esistono più (e non c'è modo di definirne uno come" predefinito "che viene utilizzato se non viene specificato nulla, sfortunatamente).

A parte questo, non dovrebbero sorgere problemi, penso.

+0

ya. non avrebbe senso connettersi con ex: basicHttpbinding + wsHttpBinding + netTcpBinding allo stesso tempo. – vidalsasoon

+0

@vidal: non proprio, no :-) Ma potreste ** possibilmente avere un client su netTcp e un'altra istanza client su http - se mai ne avete bisogno (non so perché sarebbe necessario - ma voi ** could ** ;-) –

+1

Se si dispone di un client web Java e di un client thick .Net per un esempio di vita reale. Il client java utilizza i client http e .Net utilizza net.tcp – softveda

Problemi correlati