Compartilhar via


ServiceBase.OnPause Método

Definição

Quando implementado em uma classe derivada, é executado quando o comando Pausar é enviado para o serviço pelo SCM (Gerenciador de Controle de Serviço). Especifica ações a serem tomadas quando a execução for colocada em pausa.

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

Comentários

Use OnPause para especificar o processamento que ocorre quando o serviço recebe um comando Pause. OnPause espera-se que seja substituído quando a CanPauseAndContinue propriedade for true.

Quando você continua um serviço pausado (por meio do console de Serviços ou programaticamente), o OnContinue processamento é executado e o serviço fica ativo novamente.

O comando Pause só permite que seu aplicativo reaja a um evento específico. OnPause não faz nada para o serviço que você não define para fazer.

Enviar uma solicitação pause para o serviço pode conservar recursos do sistema porque Pause não precisa liberar todos os recursos do sistema. Por exemplo, se os threads tiverem sido abertos pelo processo, pausar um serviço em vez de pará-lo poderá permitir que os threads permaneçam abertos, evitando a necessidade de realocá-los quando o serviço continuar. Se você definir Pausar para liberar todos os recursos do sistema, ele se comportará como um comando Stop.

Defina CanPauseAndContinue como true, substitua OnPause e OnContinue especifique o processamento que deve ocorrer quando o SCM passar uma solicitação Pausar ou Continuar para o serviço. OnContinue deve ser implementado para desfazer o processamento em OnPause.

Se CanPauseAndContinue for false, o SCM não passará solicitações pause ou continue para o serviço, portanto, os métodos e os OnPause métodos OnContinue não serão chamados mesmo se implementados. No SCM, os controles e os Pause controles Continue são desabilitados quando CanPauseAndContinue está false.

Aplica-se a

Confira também