2010-12-03 29 views
13

Tengo curiosidad por saber cómo funciona exactamente el método Main() en un servicio de Windows en lo que se refiere al Administrador de control de servicios. ¿Cuándo se ejecuta? ¿Cómo se conecta al sistema operativo? ¿Se ejecuta cuando se instala un servicio? Sé que se ejecuta cuando el SCM llama a OnStart(), OnStop() ya se está ejecutando para que no lo ejecutemos nuevamente.C# Windows Service Método principal

Si alguien sabe mucho sobre esta área y puede elaborar, lo agradecería.

Soy un programador experimentado, no necesito una descripción de lo que hace el Método Principal en general ... cómo funciona en conjunto con los servicios de Windows.

+0

Debe saber que el método principal es "principal" solo para el compilador, por lo que esto no tiene nada que ver con iniciar los servicios de Windows. –

Respuesta

13

Cuando utiliza el applet del Panel de control para indicar al servicio que inicie, SCM inicia el proceso; esto hace que se ejecute el código dentro de Main(). La línea ServiceBase.Run() en el método Main() engancha los servicios asociados en el SCM y luego llama al método OnStart() para cada uno de los servicios especificados en la llamada al método ServiceBase.Run().

+1

¿Qué sucede si Main() arroja una excepción? ¿El applet del Panel de control le informa al usuario que algo salió mal? – PaulK

Cuestiones relacionadas