Использование одного и того же сервиса WCF с разных адресов - PullRequest
1 голос
/ 15 февраля 2011

У меня есть одна служба WCF, но до времени выполнения я не знаю правильный адрес службы.Это может быть:

http://example1.com/MyService.svc
// or
http://example2.com/MyService.svc

Служба используется библиотекой классов (DAL).У меня есть два варианта:

  1. Добавить ссылку на службу в службу (Visula Studio 2010) и изменить адрес во время выполнения.Таким образом, VS-2010 создаст для меня WSDL и другие вещи (я не уверен, что это вообще возможно).
  2. Создайте прокси на лету и установите базовый адрес службы.Это требует дополнительной работы, и если я внесу какие-либо изменения в сервис, мне нужно будет самому генерировать WSDL.Обслуживание этого кода не так просто, как вариант.

Какой вариант использовать?Кроме того, если вы рекомендуете второй вариант, то должен ли мой класс-оболочка клиента быть одноэлементным или я могу создавать все компоненты соединения для каждого вызова?

Ответы [ 2 ]

2 голосов
/ 15 февраля 2011

вы можете указать на локальный хост или любой другой адрес в разработке, а затем в производстве, если URL-адрес изменяется, вы просто изменяете web.config или app.config, где вы настроили конечную точку WCF.

1 голос
/ 15 февраля 2011

Вариант 1 - вы получаете все преимущества, а не боль. Просто используйте что-то ориентированное на фабрику (т.е. не делайте new MyProxy(), а вместо этого вставляйте этот код где-то в центре, как статический метод CreateMyProxy(), или рассматривайте контейнер IoC / DI).

Как использовать веб-службу WCF через URL во время выполнения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...