2013-08-22 2 views
1

У меня есть несколько настольных приложений, которые теперь преобразуются в веб-службы, поэтому сторонние веб-приложения могут использовать службы обоих. Теперь есть определенные модули обоих приложений, которые имеют схожие функции, и мы действительно хотим использовать один и тот же интерфейс, но разные реализации.Веб-сервис вызывает разные классы реализации службы

Итак, допустим, что в интерфейсе/контракте есть метод getUser (string id), мне нужно было бы изменить его на что-то вроде getUser (string id, string appId)?

Это для веб-службы .NET, но я не склонялся к SOAP или REST (или WebAPI). Я не слишком озабочен частью кодирования.

+0

Что бы 'appId' представлять? –

+0

Нужно ли запускать только одну конечную точку службы или могут ли разные клиенты обращаться к службе через разные URL-адреса? –

+0

@PeterRitchie Я еще не начал кодирование. У меня две разные версии сервисов. Поэтому я думаю о чем-то вроде appId, чтобы отличить, к какой реализации нужно идти. – Chookoos

ответ

1

Для служб (интерфейсов) вам понадобятся разные конечные точки обслуживания. Это означает, что вам нужны два разных интерфейса, а не только реализация. Например, если вы должны были создать службу в WCF, вы бы определить два различных услуг, с каждый из которых имеет другую конечную точку (URN), определенный, как показано ниже:

<services> 
    <service name="MyService"> 
     <endpoint address ="http://something" 
...</service> 
    <service name="MyOtherService"> 
     <endpoint address = "http://somethingelse" 
Смежные вопросы