Нужен пошаговый WCF как служба Windows - PullRequest
7 голосов
/ 26 августа 2011

Я пытаюсь найти (хороший) пошаговый пример создания WCF и размещения его в качестве службы Windows (с установщиком). Я использую VS2010 и имею простой WCF с 1 функцией (просто возвращает «Hello»).

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

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

Ответы [ 3 ]

6 голосов
/ 02 сентября 2013

Для дальнейшего использования - для всех, кто просматривает эту тему:

Вот лучший пример, который я нашел для этого вопроса: CodeProject: Служба WCF с Windows Service Hosting,используется из приложения C # !

Эта ссылка, упомянутая выше, показывает, как использовать службу WCF, но есть много других полезных вещей: MSDN: Как: разместить службу WCF вуправляемая служба Windows !

Эта вторая ссылка выше хороша для создания службы WCF, но не для ее использования: MSDN: хостинг и использование служб WCF !

Я редко нахожу статьи MSDN, которые мне нравятся: -)

3 голосов
/ 26 августа 2011

Вам просто нужно разместить класс контракта wcf в методе onstart службы, вызывающего ServiceHost host = new ServiceHost(YourClass), а в onclose методе вашей службы вам нужно вызвать host.close(). Вариант хостинга зависит от того, с каким типом клиентов вы хотите общаться, если вы хотите общаться с чистыми html-клиентами, использующими REST, вам нужно разместить свой сервис в WebServiceHost, а привязка, которую вам необходимо использовать в этом случае, - webHttpBinding.

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

Я не нашел никакой разницы в создании службы wcf в vs2008 и vs2010.

С какими типами клиентов вы хотите общаться и какие протоколы вы хотите поддерживать. Это все определяет вашу конфигурацию.

0 голосов
/ 26 августа 2011

Когда я использую WCF в службе Windows, я использовал Topshelf в качестве инфраструктуры службы Windows и модифицированную версию этого кода проекта кода для динамического размещения, установки и запустить службы WCF.

Topshelf упрощает разработку и отладку, поскольку его можно запускать как консольное приложение. Возможность динамически обновлять библиотеки служб WCF без остановки службы Windows - это просто здорово. ;)

...