доступ к службе WCF через URL-адрес

У меня есть служба WCF (скажем, WCFService1), развернутая на двух удаленных машинах. Поскольку одна и та же служба развернута на двух разных машинах, они имеют общий интерфейс и общие методы.

WCFService1 развернут на компьютерах Machine1 и Machine2.

Чтобы использовать службу WCF с клиентского компьютера, я создал клиентское приложение:

  1. Я добавил ссылку времени разработки службы WCF (WCFService1) (с помощью URL-адреса http://11.12.25.23/WCFService/Service1.svc).

  2. Теперь я могу вызывать методы, представленные в службе. Пока все нормально...

Теперь мой вопрос: нужно ли мне обновлять клиент во время выполнения с той же службой, размещенной на другом компьютере с другим URL-адресом (скажем, http://12.12.24.24/WCFService/Service1.svc), как это сделать?

В настоящее время я делаю это:

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

но всякий раз, когда я использую для вызова метода, представленного в службе, я получаю ошибку несоответствия привязки.


person Ashish Ashu    schedule 30.07.2009    source источник


Ответы (3)


Вы пытались сначала вызвать своего клиента?

eg:

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

Я подозреваю, что если вы посмотрите в свой файл web.config на Machine1, вы увидите, что там привязка WSHttpBinding (или что-то отличное от BasicHttpBinding). Если вы измените его на BasicHttpBinding (при условии, что вы действительно этого хотите), вы устраните эту ошибку.

person codekaizen    schedule 30.07.2009

Как настроен ваш сервис? Покажите нам свою конфигурацию на стороне сервера и на стороне клиента!

Несоответствие привязки означает, что вы либо используете другую привязку, либо какой-то жизненно важный параметр привязки отличается — должно быть что-то настроено неправильно — так что покажите нам конфигурацию!

Марк

person marc_s    schedule 30.07.2009