Pregunta

Tengo un servicio WCF (Digamos que WCFService1) se implementa en dos máquinas remotas. Dado que el mismo servicio se implementa en dos máquinas diferentes, tienen una interfaz común y métodos comunes expuestos.

WCFService1 se implementa en Machine1 y Machine2.

Para consumir el servicio WCF de la máquina cliente, he creado una aplicación cliente:

  1. He agregado una referencia de tiempo de diseño del servicio WCF (WCFService1) (con la ayuda de la URL http://11.12.25.23/WCFService/Service1.svc ).

  2. Ahora puedo invocar los métodos expuestos en el servicio. Hasta ahora está bien ...

Ahora mi pregunta es si tengo que actualizar el cliente en tiempo de ejecución con el mismo servicio alojado en una máquina diferente con una URL diferente (digamos http://12.12.24.24/WCFService/Service1.svc ), ¿Cómo puedo hacer eso?

En este momento estoy haciendo esto:

BasicHttpBinding binding = new BasicHttpBinding();
EndpointAddress address = new EndpointAddress("http://12.12.24.24/WCFService/Service1.svc");
MyServiceClient serviceClient = new MyServiceClient(binding, address);

pero cada vez que utilizo para invocar el método expuesto en el servicio obtuve un error de coincidencia de errores de vinculación.

¿Fue útil?

Solución

¿Has intentado invocar a tu cliente primero?

por ejemplo:

MyWCFClient client = new MyWCFClient();
client.EndPoint.Address = new EndpointAddress("http://somewhere:888/here.svc");

Otros consejos

Sospecho que si busca en su archivo web.config en Machine1, verá que el enlace allí es WSHttpBinding (o algo diferente a BasicHttpBinding). Si lo cambia a BasicHttpBinding (asumiendo que es lo que realmente quiere), eliminará este error.

¿Cómo está configurado su servicio? ¡Muéstrenos su configuración del lado del servidor y del lado del cliente!

La falta de coincidencia de enlaces significa que o no estás usando el mismo enlace, o que algún parámetro vital en el enlace es diferente, debe haber algo mal configurado, ¡así que muéstranos la configuración!

Marc

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top