ServiceBase.OnPause Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
När det implementeras i en härledd klass körs när ett Paus-kommando skickas till tjänsten av Service Control Manager (SCM). Anger vilka åtgärder som ska utföras när en tjänst pausas.
protected:
virtual void OnPause();
protected virtual void OnPause();
abstract member OnPause : unit -> unit
override this.OnPause : unit -> unit
Protected Overridable Sub OnPause ()
Kommentarer
Använd OnPause för att ange den bearbetning som inträffar när tjänsten tar emot ett Paus-kommando.
OnPause förväntas åsidosättas när egenskapen CanPauseAndContinue är true.
När du fortsätter en pausad tjänst (antingen via tjänstkonsolen eller programmässigt) körs bearbetningen OnContinue och tjänsten blir aktiv igen.
Med kommandot Pausa kan ditt program bara reagera på en specifik händelse. OnPause gör ingenting med den tjänst som du inte definierar den att göra.
Om du skickar en Paus-begäran till tjänsten kan du spara systemresurser eftersom Paus inte behöver frigöra alla systemresurser. Om trådar till exempel har öppnats av processen kan pausning av en tjänst i stället för att stoppa den göra det möjligt för trådarna att förbli öppna, vilket hindrar behovet av att omfördela dem när tjänsten fortsätter. Om du definierar Pausa för att frigöra alla systemresurser fungerar det som ett Stopp-kommando.
Ange CanPauseAndContinue till true, och åsidosätt OnPause och OnContinue ange den bearbetning som ska utföras när SCM skickar en Pausa eller Fortsätt-begäran till din tjänst.
OnContinue implementeras för att ångra bearbetningen i OnPause.
Om CanPauseAndContinue är falseskickar SCM inte paus- eller fortsätt-begäranden till tjänsten, så metoderna och OnPause anropas inte även om de OnContinue implementeras. I SCM inaktiveras Pause kontrollerna och Continue när CanPauseAndContinue är false.