Повторное использование стороннего веб-сервиса с использованием WCF - PullRequest
2 голосов
/ 04 марта 2011

У меня есть сторонний веб-сервис, который я собираюсь использовать из 2 разных приложений:

  1. проекта Windows Workflow (WF)
  2. веб-сайт

Прямо сейчас из этих двух приложений я вручную добавляю ссылку на сторонний веб-сервис и вызываю нужный метод.Это означает, что у меня этот прокси-слой сгенерирован в 2 местах.

То, что я ищу, - это способ создания (не уверен насчет правильного слова для использования, извините, ребята) стороннего веб-сервиса в одном месте ипусть 2 приложения используют его повторно.

Может ли это быть достигнуто с помощью WCF, что-то вроде оборачивания стороннего веб-сервиса в WCF.

Правильный ли этот подход? любая помощь или указатели будутотличная помощь, мало что было сделано для разработки на основе сервисов.

Среда: веб-сайт, проект WF расположен на 2 разных серверах (windows 2003 R2).

Среда (разработка): windows7 enterprise / vs 2010 / c #

Спасибо

Подробнее:

Думаю, я не использую правильные слова в своем первом запросе, вот что я ищу и почемуМне это нужно таким образом, мне нужно вызывать стороннюю веб-службу из новой службы WCF. Эта новая служба WCF будет вызываться из других приложений (winforms / WF / website) вместо вызова сторонней службы.Идея состоит в том, чтобы иметь возможность переключать стороннюю службу (vendore) без изменения реализации и в одном месте. Мы используем формат hr-xml для запроса / ответа, и все наши поставщики (существующие или будущие) поддерживают формат hr-xml дляОтрасль, в которой мы находимся. Если мы используем библиотеку классов, то для смены поставщика мы должны перекомпилировать и правильно распределить dll, мы не хотим этого делать.Я не уверен насчет архитектуры, которой нужно следовать для достижения всей этой функциональности. Любые указатели в правильном направлении будут очень полезны.

Спасибо

Ответы [ 2 ]

2 голосов
/ 04 марта 2011

Ваш квест действительно имеет большой смысл - и я думаю, что это должно быть довольно легко выполнить:

  • создать новую сборку библиотеки классов ("WebServiceClient" или как вы хотите ее назвать)
  • внутри этого нового проекта, вы Add Service Reference - это создаст необходимые прокси-классы WCF и файл конфигурации
  • скомпилирует эту библиотеку классов

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

OneПомните: вам нужно будет скопировать и вставить конфигурацию для веб-службы в конфигурацию основного приложения (app.config для приложения Winforms / console, web.config для веб-сайта / веб-приложения), поскольку его нельзя прочитать непосредственно из классафайл конфигурации библиотеки (он не будет использоваться .NET).

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

В этом случае, я думаю, сервис WCF будет идеей gr8.Вы не хотите перекомпилировать клиентские приложения, если поставщик изменился.

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