O que acontece quando um cliente da WCF especifica vários pontos de extremidade para o mesmo contrato?

StackOverflow https://stackoverflow.com/questions/1888233

Pergunta

Isso consumirá de todos eles? Isso vai dar uma exceção?

Foi útil?

Solução

Você pode ter vários pontos de extremidade para o mesmo contrato e endereços diferentes em sua configuração de Clieint, sem problemas.

Eles precisam ser separados por um único name= atributo no <endpoint> marcação.

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

Ao criar seu proxy do cliente, você precisa fornecer o nome do terminal que deseja usar:

YourClient client = new YourClient("netTcpEndpoint");

Você não pode mais instanciar seu cliente e esperar que ele encontre "o" endpoint "para usar, pois existem múltiplos (e não há como definir um como o" padrão "que é usado se nada for especificado, infelizmente).

Fora isso - nenhum problema deve surgir, eu acho.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top