2009-11-04 1 views
4

Извинения за длинное название, но ищущее решение проблемы, которая может быть распространенной проблемой.WCF webservice, работающий на двух серверном кластере, с балансировщиком, разрешающий адрес веб-службы

У нас есть loadbalancer с адресом, скажем: www.myloadbalancer.com

Ниже приведены два веб-сервера

Первый сервер: webserver1.farm.com
Второй сервер: webserver2.farm.com

Мы развернули WebService на двух серверах но заметил что-то смешное, пытаясь использовать веб-службы где-то в другом месте.

Мы используем для:

  • webserver1.farm.com/service1.svc и
  • webserver2.farm.com/service1.svc

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

Таким образом, адрес для потребления - www.myloadbalancer.com/service1.svc.

Однако мы находим, что если loadbalancer направляет вас на сервер 1, и вы проверяете WSDL, вы видите имя и данные службы как webserver1.farm.com/service1.svc не www.myloadbalancer.com/service1.svc.

Если вы пытаетесь использовать www.myloadbalancer.com/service1.svc, скажем в Visual Studio 2008, вы получите предупреждение о том, что webserver1.farm.com/service1.svc не существует.

Главный вопрос: возможно ли присвоить псевдоним веб-сервису. Другими словами, можно ли получить услугу, чтобы описать себя как www.myloadbalancer.com/service1.svc, независимо от того, попали ли мы на веб-сервер 1 или 2?

ответ

4

WSDL-файл - это файл WSDL. Отредактируйте его, чтобы указать правильный URL. (Вам не нужно использовать автогенератор http://webserver1.farm.com/service1.svc?WSDL, если вы этого не хотите.)

+0

Действительно ли это так;) Я попробую ... – Solyad

+1

Этот учебник может объяснить это? http://www.pluralsight.com/community/blogs/kirillg/archive/2006/06/18/28380.aspx – Solyad

Смежные вопросы