Поделиться кодом между asmx и wcf - PullRequest
0 голосов
/ 02 марта 2011

У меня есть сервис wcf. Также некоторые наши клиенты используют delphi7 для использования наших услуг. Delphi7 не может использовать wcf (даже basicHttpBinding), поэтому мне нужно создать asmx-аналог моего веб-сервиса wcf. Сейчас я ищу лучший способ построить сервис wcf и asmx на одной и той же базе кода. Каков предпочтительный способ построения, поддержки двух сервисов с одинаковым кодом (одинаковые методы, логика)

Спасибо, Андрей

Ответы [ 4 ]

3 голосов
/ 02 марта 2011

Используйте библиотеку динамических ссылок (* .dll) для размещения общего кода, ссылок и использования из обоих проектов.

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

1 голос
/ 02 марта 2011

Вы можете легко добавить простой старый веб-сервис ASMX в существующую службу WCF, если она уже размещена в веб-приложении / сайте ASP.NET.

Щелкните правой кнопкой мыши свой проект -> Добавить -> Выбор нового элементаИнтернет -> прокрутите вниз -> Веб-сервис.

Затем ваш веб-сервис вызовет ваши методы WCF.

1 голос
/ 02 марта 2011

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

Я использую словоBusinessManager для определения класса как-то связан с вашей собственной бизнес-логикой, но это просто класс, статический или нет, я обычно предпочитаю не делать такие классы статичными.

0 голосов
/ 02 марта 2011

Delphi 7 поддерживает вызов к объектам COM (ActiveX), не так ли?

Почему бы не создать клиент COMVisible .NET для службы WCF и использовать его в Delphi через интерфейс COM.

Таким образом, вам не нужно поддерживать ASMX и службу WCF.

...