¿Qué pasa cuando un cliente WCF especifica varios puntos finales para el mismo contrato?
-
19-09-2019 - |
Pregunta
¿Va a consumir de todos ellos? Va a lanzar una excepción?
Solución
Puede tener múltiples puntos finales para el mismo contrato y diferentes direcciones en la configuración del clieint, no hay problema.
Necesitan ser separados por un atributo name=
único 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>
Cuando se crea el 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 encontrar "el" punto final a utilizar, ya que hay múltiples (y no hay manera de definir uno como el "default", que se acostumbra, si no se especifica nada, por desgracia) .
Aparte de eso - no deberían surgir problemas, creo
.Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow