-
Есть служба, необходимо к ней прикрутить интерфейсы для мониторинга ее состояния и получениея данных, которые накапливаются в ходе работы. Поиск тут (и практичеки везде) привел к исходникам автора Набережных_С, где реализуется СОМ сервер в разных вариантах работающий в основном потоке самой службы. Подскажите мой ли это вариант? На данный момент к службе прикручен СОМ сервер, фабрика создается как обычно, служба регистрируется к ключем /install, СОМ сервер с ключем /regserver - все вроде чудесненько и служба работает, но при обращении к СОМ серверу после создания он сразу завершает работу - оно и понятно т.к. он находтся в ехе-шнике службы, который должен пускаться по другому и т.к. не установил связь с SCM то процесс завершается с соответсвующим событием в системном журнале. Кроме того при запуске СОМ сервера запускается еще однин экземпляр от миени пользователя. Дело в том что меня вполне устраивает, что при запуске СОМ сервера запускается дополнительный процесс и СОМ сервер независим от процесса службы, т.е. СОМ сервер в моей реализации должен быть доступен даже если служба не запущена... Есть ли возможность заставить процесс службы не завершаться когда он запускается от подключения к СОМ серверу (отследить это можно так - в момент запуска процесса ParamStr(1) будет равным '-Embedding'), тогда все гораздо проще получается и этот процес сам завершится когда последний пользователь отсоединится от СОМ сервера...
-
> Подскажите мой ли это вариант?
Да.
> СОМ сервер в моей реализации должен быть доступен даже если > служба не запущена
Что же тогда ты собираешься мониторить, если она не запущена ?
-
Сергей, в принципе Вы правы, мониторить нечего, следовательно данных тоже не собирешь... Можете подробнее рассказать что там с настройками безопасности? Я так понимаю что служба работает в "нулевом" сеансе, в который не системная учетная запись войти не может и соответственно обратитьься к данным в этом сеансе. Надо настраивать в dcomcfg разрешения определенным пользователям на доступ к СОМ объекту?
-
Подскажите каким образом традиционно реализуется обмен данныими со службой?
-
Универсальный способ на все случаи жизни - по протоколу TCP
|