Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]


> Подскажите мой ли это вариант?


Да.


> СОМ сервер в моей реализации должен быть доступен даже если
> служба не запущена


Что же тогда ты собираешься мониторить, если она не запущена ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо