2009-12-11 8 views

Respuesta

11

Puede tener múltiples puntos finales para el mismo contrato y diferentes direcciones en su configuración de clieint, no hay problema.

Deben estar separados por un atributo único name= en la etiqueta <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> 

Al crear su proxy de cliente, es necesario proporcionar el nombre de la variable que desea utilizar:

YourClient client = new YourClient("netTcpEndpoint"); 

Puede ya no es sólo una instancia de su cliente y esperar que se encuentre "la "punto final para usar, ya que hay varios (y no hay manera de definir uno como el" predeterminado "que se usa si no se especifica nada, desafortunadamente).

Aparte de eso, no debería surgir ningún problema, creo.

+0

ya. no tendría sentido conectarse con ex: basicHttpbinding + wsHttpBinding + netTcpBinding al mismo tiempo. – vidalsasoon

+0

@vidal: no realmente, no :-) Pero usted ** podría ** potencialmente tener un cliente navegando por netTcp, y otra instancia cliente revisando http - si alguna vez necesita (no estoy seguro de por qué sería necesario) pero usted ** podría ** ;-) –

+1

Si tiene un cliente web java y un cliente grueso .Net para un ejemplo de la vida real. El cliente de Java usa http y el cliente .Net usa net.tcp – softveda

Cuestiones relacionadas