Я просмотрел несколько руководств по созданию службы WCF. Я использую Visual Studio 2012. У меня есть очень простая библиотека служб WCF (vb.net) и приложение Windows (vb.net), которые обмениваются данными через WCF. Это начало.

Однако мой проект требует, чтобы я сделал следующее:

  • Моя служба Windows - это уже приложение, у которого есть свои задачи.
  • Мое приложение - это уже разработанное приложение.

Мне нужна служба, чтобы поговорить с приложением. Службе потребуется отправить в приложение Windows следующую информацию:

  • Обновления статуса
  • Информация о показателях (в основном целые числа для подсчета)

Мне нужно приложение для отправки информации в сервис. Для этого нужно отправить:

  • Команда перезагрузки конфигурации

Должно быть относительно просто, но до сегодняшнего дня я никогда не работал с WCF. Так что у меня есть вопросы ...

  1. Нужно ли мне преобразовать мою текущую службу Windows в службу WCF?
  2. Поскольку этого не будет в IIS, могу ли я также создать библиотеку службы WCF или как-то перенести ее в службу Windows?
  3. Как лучше всего настроить разные типы общения? (т.е. отправка определенных показателей и команд перезагрузки)

Вероятно, главный вопрос в том, какие компоненты, помимо моей текущей службы и приложения Windows, мне понадобятся для этой работы?

Надеюсь, это было понятно :( Думаю, я все путаю ... но надеюсь, что нет

1
cb seo 23 Дек 2013 в 22:12

2 ответа

Лучший ответ

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

1
John Saunders 23 Дек 2013 в 19:51

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

Надеюсь, я помог!

0
Pantelis Natsiavas 23 Дек 2013 в 18:49