2010-01-28 2 views
1

[RUN DOWN]Можно ли запускать несколько версий одного и того же веб-сервиса?

  • Я должен позвонить на веб-сервиса с информацией о версии встроенного во имя WebService.
    EG. webserviceV1

  • Когда я создаю прокси-класс из wsdl, имя веб-службы используется как имя класса.
    Я использую инструмент wsdl.exe.

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

[МОЙ ВОПРОС]

  • Я хотел бы предложить решение провайдеру, который позволил бы им предоставить несколько версий веб-сервиса, как это на ранних стадиях проекта.

  • Мне сообщили, что возможное решение будет заключаться в предоставлении веб-сервиса через разные порты. Однако, пробовав себя, я не знаю, возможно ли это через IIS.

  • Можно ли одновременно запускать несколько версий веб-службы на одном компьютере?

ответ

3

Уверенный возможен. Вместо добавления номера версий классов веб-сервиса, размещать их в отдельных виртуальных каталогов:

http://host/services/1.0/service.asmx 
http://host/services/1.3/service.asmx 
http://host/services/2.0/service.asmx 

Вы тогда должны разработать схему управления версиями (филиалы правильно использовать, см this для некоторых мыслей о том, что), чтобы поддерживать все версии обслуживание одновременно.

Что касается кода, вы можете попробовать абстрагировать различия между сервисными версиями за общим интерфейсом (подумайте AbstractService), а затем используйте его в качестве основы для реализаций версии (ServiceV1_3).

Google дает довольно приятные результаты для этой точной темы.

+0

Спасибо за быстрый ответ. Попытаемся научиться этому. –

+0

Пробовал, и он отлично работает. Благодарю. –

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