Что происходит внутри моей службы Windows? - PullRequest
0 голосов
/ 15 марта 2012

У меня довольно сложная служба Windows (написана на .net 4) с несколькими подсистемами, которые работают параллельно.

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

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

Меня интересует решение, которое будетЛегко получить в будущем Windows-сервис, и я не ищу ничего очень сложного.

Существуют ли инструменты для такого рода вещей?Вы сделали это сами?А как насчет межпроцессного взаимодействия?

1 Ответ

1 голос
/ 16 марта 2012

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

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

WCF Binding Selection Flow Chart.

Если вы ищете более формальный подход, основанный на простых WCF,взгляните на платформу для публикации и подписки Джувала Лоуи, которая довольно подробно описана в этой статье MSDN .Код доступен для просмотра через статью, или вы можете скачать исходный код и пример с сайта Лоуи здесь .Перейдите в раздел «Загрузки», отфильтруйте по категории Discovery , и вы увидите ее там.

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