Share via


ServiceBase.OnPause Método

Definición

Si se implementa en una clase derivada, se ejecuta cuando el Administrador de control de servicios (SCM, Service Control Manager) envía un comando Pausar al servicio. Especifica las acciones que deben realizarse cuando un servicio realiza una pausa.

protected:
 virtual void OnPause();
protected virtual void OnPause ();
abstract member OnPause : unit -> unit
override this.OnPause : unit -> unit
Protected Overridable Sub OnPause ()

Comentarios

Use OnPause para especificar el procesamiento que se produce cuando el servicio recibe un comando Pause. OnPause se espera que se invalide cuando la CanPauseAndContinue propiedad es true.

Cuando continúa un servicio en pausa (ya sea a través de la consola de Servicios o mediante programación), se ejecuta el OnContinue procesamiento y el servicio vuelve a estar activo.

El comando Pause solo permite que la aplicación reaccione a un evento específico. OnPause no hace nada al servicio que no lo defina.

El envío de una solicitud pause al servicio puede conservar los recursos del sistema porque Pause no necesita liberar todos los recursos del sistema. Por ejemplo, si el proceso ha abierto subprocesos, pausar un servicio en lugar de detenerlo puede permitir que los subprocesos permanezcan abiertos, lo que evita la necesidad de reasignarlos cuando el servicio continúa. Si define Pause para liberar todos los recursos del sistema, se comporta como un comando Stop.

Establezca CanPauseAndContinue en truee invalide OnPause y OnContinue para especificar el procesamiento que debe producirse cuando el SCM pasa una solicitud Pause o Continue al servicio. OnContinue se debe implementar para deshacer el procesamiento en OnPause.

Si CanPauseAndContinue es false, el SCM no pasará las solicitudes Pause o Continue al servicio, por lo que no se llamará a los OnPause métodos y OnContinue incluso si se implementan. En el SCM, los Pause controles y Continue se deshabilitan cuando CanPauseAndContinue es false.

Se aplica a

Consulte también