Библиотека служб WCF и типы проектов библиотеки классов - PullRequest
23 голосов
/ 12 марта 2010

Что делает сервисная библиотека WCF, чего не делает обычная библиотека классов?

Редактировать: я отправил свой собственный ответ. Я что-то пропустил? Являются ли они по своей сути просто библиотеками классов с добавлением нескольких шаблонных классов?

Ответы [ 4 ]

25 голосов
/ 12 марта 2010

Я создал оба и сравнил. Это то, что я нашел.

Сервисная библиотека WCF

  • добавляет ссылки на System.Runtime.Serialization и System.ServiceModel. не содержит ссылку на System.Data.DataSetExtensions, как это делает библиотека классов.
  • содержит примеры классов обслуживания IService1, CompositeType и Service1
  • добавляет app.config с wsHttpBinding и конечной точкой службы mexHttpBinding
  • добавляет /client:"WcfTestClient.exe" в качестве опции командной строки отладки в свойствах проекта
  • добавляет вкладку WCF Options в свойствах проекта. Эта вкладка содержит параметр для запуска узла службы WCF при отладке другого проекта в том же решении
  • включает параметр Sign the ClickOnce manifests на вкладке Подписи свойств проекта. эта опция отключена в библиотеке классов
5 голосов
/ 12 марта 2010

Также запускается утилита WCF Service Host на F5. Переключатель /client, который вы заметили, передается узлу службы WCF, чтобы сообщить ему, какой клиент запустить. В этом случае ему говорят, что нужно запустить тестовый клиент WCF.

Это дает вам довольно хороший F5 опыт. Установите точки останова в вашем сервисе, нажмите F5 , используйте Test Client для вызова операции сервиса, и ваши точки останова будут достигнуты.

2 голосов
/ 24 сентября 2010

Я протестировал в проекте VS 2010, используя библиотеку классов в качестве типа хостинга WCF, но он не может генерировать классы wsdl или proxy.

Проект WCF отличается от обычной библиотеки классов, поскольку он добавляет много dll в ссылки на решение / проект, а также добавляет шаблон (Service1.svc) , который необходимо развернуть на сервере IIS и создать 2 выходных файла с использованием svcutil.exe.

0 голосов
/ 11 февраля 2014

Как описано здесь :

В первом элементе PropertyGroup сделайте следующее:

Найдите элемент ProductVersion. Обновите версию продукта, чтобы она соответствовала следующему:

<ProductVersion>8.0.50727</ProductVersion>

Под элементом AssemblyName добавьте следующие элементы:

<ProjectTypeGuids>{3D9AD99F-2412-4246-B90B-4EAA41C64699};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

<StartArguments>/client:"WcfTestClient.exe"</StartArguments>

Прокрутите до конца файла и под элементом импорта добавьте следующее расширение:

<ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{3D9AD99F-2412-4246-B90B-4EAA41C64699}">
        <WcfProjectProperties>
          <AutoStart>True</AutoStart>
        </WcfProjectProperties>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
...