Служба WCF в отдельной сборке - PullRequest
10 голосов
/ 18 июня 2010

Как правильно создать службу WCF в отдельной сборке, но затем представить ее конечную точку через веб-проект в том же решении?

Ответы [ 3 ]

16 голосов
/ 18 июня 2010

Я сделал это так:

  • Создайте службу WCF в новом проекте типа библиотека классов
  • Поместите свои интерфейсы и реализации в эту библиотеку в пространство имен, подобное MyServiceLib
  • Добавьте в свой веб-проект файл, подобный MyService.svc, только с одним оператором, директива ServiceHost:

    <%@ ServiceHost Service="MyServiceLib.MyService" %>
    

    , где MyServiceLib - это имя пространства имен вашей службы WCF, а MyService - имя класса реализации вашей службы. (Эта простая настройка предназначена для случая, когда вы развертываете службу как скомпилированную сборку (например, в каталоге Bin). Если вы хотите выполнить развертывание с исходным кодом и разрешить компиляцию по первому запросу, вам нужно добавить еще несколько атрибутов для директива сервисного хоста (язык программирования, исходный файл и т. д.)

  • Поместите конфигурацию службы в web.config в разделе <system.serviceModel>.
3 голосов
/ 18 июня 2010

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

1 голос
/ 18 июня 2010

Если у вас есть контроль над сервером и клиентом, вы можете использовать метод, описанный в этой ссылке: http://www.dnrtv.com/default.aspx?showNum=122

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