ServiceBase.OnPause Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
.