Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método ServiceBase.OnStart (String[])

 

Publicado: octubre de 2016

Cuando se implementa en una clase derivada, se ejecuta cuando se envía un comando de inicio al servicio mediante el Administrador de Control de servicios (SCM) o cuando se inicia el sistema operativo (para un servicio que se inicia automáticamente). Especifica las acciones que deben realizarse cuando se inicia el servicio.

Espacio de nombres:   System.ServiceProcess
Ensamblado:  System.ServiceProcess (en System.ServiceProcess.dll)

protected virtual void OnStart(
	string[] args
)

Parámetros

args
Type: System.String[]

Datos pasados por el comando de inicio.

Use OnStart para especificar el procesamiento que se produce cuando el servicio recibe un comando de inicio. OnStart es el método en el que se especifica el comportamiento del servicio. OnStart puede tomar argumentos como una manera de pasar datos, pero este uso es raro.

System_CAPS_cautionPrecaución

No utilice el constructor para realizar procesamiento que debería estar en OnStart. Use OnStart para controlar la inicialización del servicio. Se llama al constructor cuando la aplicación ejecutable se ejecuta, no cuando se ejecuta el servicio. El ejecutable se ejecuta antes de OnStart. Al pasar, por ejemplo, el constructor no se llama nuevo porque el SCM conserva ya el objeto en la memoria. Si OnStop libera los recursos asignados en el constructor en lugar de en OnStart, los recursos necesarios no se crearán la segunda vez que se llama al servicio.

Servicios pueden establecerse para iniciarse automáticamente cuando se reinicia el equipo estableciendo el StartType en el instalador del servicio a Automatic. En esta situación, OnStart se llamaría al iniciar el sistema.

OnStart se espera que sea reemplazado en la clase derivada. Para el servicio sea útil, OnStart y OnStop tienen que implementarse en la clase de servicio.

Procesar argumentos de inicialización para el servicio en la OnStart (método), no en el método Main. Los argumentos de la args matriz de parámetros se puede establecer manualmente en la ventana Propiedades para el servicio en la consola Servicios. Los argumentos especificados en la consola no se guardan; se pasan al servicio en una sola vez cuando se inicia el servicio desde el panel de control. Los argumentos que deben estar presente cuando se inicia automáticamente el servicio pueden colocarse en el valor de cadena ImagePath para la clave del servicio del registro (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\< nombre del servicio >). Puede obtener los argumentos en el registro mediante el GetCommandLineArgs método, por ejemplo: string[] imagePathArgs = Environment.GetCommandLineArgs();.

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: