С# Windows Service Основной метод

Мне интересно, как именно метод Main() работает в службе Windows, поскольку он относится к диспетчеру управления службами. Когда он выполняется? Как он подключается к ОС? Выполняется ли это при установке службы? Я знаю, что он выполняется, когда OnStart() вызывается SCM, OnStop() он уже запущен, поэтому мы не выполним его снова.

Если кто-то знает много об этой области и может разработать, я был бы признателен.

Я опытный программист, мне не нужно описание того, что делает Основной метод вообще... как это работает в сочетании с услугами Windows.

Ответ 1

Когда вы используете апплет панели управления, чтобы сообщить службе запустить SCM, запуск процесса; это приводит к запуску кода внутри Main(). Строка ServiceBase.Run() в методе Main() перехватывает связанные службы в SCM, который затем вызывает метод OnStart() для каждой из служб, указанных в вызове метода ServiceBase.Run().