다음을 통해 공유


ServiceBase.OnPause 메서드

정의

파생 클래스에서 구현되는 경우 일시 중지 명령이 SCM(서비스 컨트롤 관리자)에 의해 서비스에 전달될 때 실행됩니다. 서비스가 일시 중지될 때 수행할 동작을 지정합니다.

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

설명

서비스에서 Pause 명령을 받을 때 발생하는 처리를 지정하는 데 사용합니다 OnPause . OnPause는 속성true이 .인 경우 재정의 CanPauseAndContinue 되어야 합니다.

서비스 콘솔을 통해 또는 프로그래밍 방식으로 OnContinue 일시 중지된 서비스를 계속하면 처리가 실행되고 서비스가 다시 활성화됩니다.

일시 중지 명령을 특정 이벤트에 반응 하는 애플리케이션 허용 합니다. OnPause 은 정의하지 않은 서비스에 아무런 작업을 수행하지 않습니다.

일시 중지 요청을 서비스로 보내면 일시 중지가 모든 시스템 리소스를 해제할 필요가 없으므로 시스템 리소스를 절약할 수 있습니다. 예를 들어 프로세스에서 스레드를 연 경우 서비스를 중지하지 않고 일시 중지하면 스레드가 열린 상태를 유지할 수 있으므로 서비스가 계속될 때 다시 할당할 필요가 없습니다. 일시 중지를 정의하여 모든 시스템 리소스를 해제하면 Stop 명령처럼 동작합니다.

SCM이 true일시 중지 또는 계속 요청을 서비스에 전달하면 발생하는 처리를 로 설정하고 CanPauseAndContinue 재정 OnPause OnContinue 의하고 지정합니다. OnContinue 에서 처리를 OnPause실행 취소하려면 구현해야 합니다.

이 경우 CanPauseAndContinue SCM은 일시 중지 또는 계속 요청을 서비스에 전달하지 않으므로 OnPause 구현된 경우에도 메서드와 OnContinue 메서드가 호출되지 false않습니다. SCM에서 컨트롤은 Pause Continue 다음과 같은 경우 CanPauseAndContinue false비활성화됩니다.

적용 대상

추가 정보