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 ()

注解

用于 OnPause 指定服务收到 Pause 命令时发生的处理。 OnPause is expected to be overridden when the CanPauseAndContinue property is true.

如果通过服务控制台或以编程方式) 继续暂停的服务 (,则会 OnContinue 运行处理,并且服务将再次处于活动状态。

Pause 命令仅允许应用程序对特定事件做出响应。 OnPause 不对未定义该服务的服务执行任何操作。

向服务发送 Pause 请求可以节省系统资源,因为暂停不需要释放所有系统资源。 例如,如果进程已打开线程,请暂停服务,而不是停止它可允许线程保持打开状态,从而消除在服务继续时重新分配线程的需求。 如果定义 Pause 以释放所有系统资源,则其行为类似于 Stop 命令。

true设置为 CanPauseAndContinue ,并重写OnPauseOnContinue指定在 SCM 将暂停或继续请求传递给服务时应发生的处理。 OnContinue应实现以撤消处理。OnPause

false如果是CanPauseAndContinue,则 SCM 不会将 Pause 或 Continue 请求传递给服务,因此OnPause即使实现,也不会调用和OnContinue方法。 在 SCM 中,Pause``Continue当为 .CanPauseAndContinue false

适用于

另请参阅