![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
COM сервер в службе...
d@vinchi © (2009-09-09 10:56:00)Есть служба, необходимо к ней прикрутить интерфейсы для мониторинга ее состояния и получениея данных, которые накапливаются в ходе работы. Поиск тут (и практичеки везде) привел к исходникам автора Набережных_С, где реализуется СОМ сервер в разных вариантах работающий в основном потоке самой службы.
Подскажите мой ли это вариант?
На данный момент к службе прикручен СОМ сервер, фабрика создается как обычно, служба регистрируется к ключем /install, СОМ сервер с ключем /regserver - все вроде чудесненько и служба работает, но при обращении к СОМ серверу после создания он сразу завершает работу - оно и понятно т.к. он находтся в ехе-шнике службы, который должен пускаться по другому и т.к. не установил связь с SCM то процесс завершается с соответсвующим событием в системном журнале. Кроме того при запуске СОМ сервера запускается еще однин экземпляр от миени пользователя.
Дело в том что меня вполне устраивает, что при запуске СОМ сервера запускается дополнительный процесс и СОМ сервер независим от процесса службы, т.е. СОМ сервер в моей реализации должен быть доступен даже если служба не запущена...
Есть ли возможность заставить процесс службы не завершаться когда он запускается от подключения к СОМ серверу (отследить это можно так - в момент запуска процесса ParamStr(1) будет равным '-Embedding'), тогда все гораздо проще получается и этот процес сам завершится когда последний пользователь отсоединится от СОМ сервера...
Сергей М. (2009-09-09 12:41:00) [1]Универсальный способ на все случаи жизни - по протоколу TCP
d@vinchi (2009-09-09 11:36:00) [2]Подскажите каким образом традиционно реализуется обмен данныими со службой?
d@vinchi (2009-09-09 11:20:00) [3]Сергей, в принципе Вы правы, мониторить нечего, следовательно данных тоже не собирешь...
Можете подробнее рассказать что там с настройками безопасности? Я так понимаю что служба работает в "нулевом" сеансе, в который не системная учетная запись войти не может и соответственно обратитьься к данным в этом сеансе. Надо настраивать в dcomcfg разрешения определенным пользователям на доступ к СОМ объекту?
Сергей М. (2009-09-09 11:09:00) [4]
> Подскажите мой ли это вариант?
Да.
> СОМ сервер в моей реализации должен быть доступен даже если
> служба не запущена
Что же тогда ты собираешься мониторить, если она не запущена ?