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 um comando Pause é enviado ao serviço pelo SCM (Service Control Manager). Especifica as ações a serem executadas quando um serviço é pausado.
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 em pausa (por meio do console dos 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 com o serviço que você não 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 especifique OnContinue o processamento que deve ocorrer quando o SCM passar uma solicitação Pausar ou Continuar para seu serviço.
OnContinue deve ser implementado para desfazer o processamento em OnPause.
Se CanPauseAndContinue forfalse, o SCM não passará solicitações Pause ou Continue para o serviço, portanto, os métodos e OnContinue os OnPause métodos não serão chamados mesmo se implementados. No SCM, os controles e os Pause controles Continue são desabilitados quando CanPauseAndContinue é false.