Интерфейс к веб-сервису? - PullRequest
2 голосов
/ 23 января 2009

У меня есть два веб-сервиса, которые имеют одинаковые методы и подписи, но указывают на разные серверы (в частности, на производственную и промежуточную среды Virtual Earth). Я хочу переключаться между использованием производственных и промежуточных служб на основе параметров конфигурации и не хочу повторяться и повторять каждый метод, в котором я вызываю одну из служб.

Итак, в сущности, мне нужно создать интерфейс, который обе службы могут реализовать и запрограммировать на это. Но я не знаю, целесообразно ли это или вообще возможно.

Или мне просто нужно сослаться на одну из служб и переключить свойство url в зависимости от того, хочу ли я использовать производственную или промежуточную среду?

Ответы [ 2 ]

3 голосов
/ 23 января 2009

Если я вас правильно понял, у вас есть ОДИН веб-сервис, который развернут в производственной и промежуточной средах. В этом случае единственное, что вам нужно сделать, это переключаться между ними через свойство Url.

1 голос
/ 23 января 2009

Я просто помещаю свои интерфейсы в службы wcf в отдельную сборку и ссылаюсь на эту сборку как с клиента, так и с сервера.
Я использую этот центральный интерфейс для службы wcf, для насмешек над службой wcf и для всех клиентов и могу поменять соединения.

Полагаю, вы используете SvcUtil для создания своих клиентских классов? Я не. Я создал интерфейсы один раз и использую их для создания службы с использованием ChannelFactory с этим контрактом на обслуживание.

Может быть, вам поможет помещение вашего сервисного контракта в отдельную сборку и использование ChannelFactory для создания прокси?

Конечно, если меняется только URL службы, вы можете просто изменить его в файле конфигурации.

...