ServiceBase.OnPause Метод

Определение

Если этот метод реализован в производном классе, он выполняется при передаче службе команды паузы диспетчером служб. Задает действия, подлежащие выполнению при приостановке работы службы.

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 ожидается, что он переопределяется, если CanPauseAndContinue свойство имеет значение true.

При продолжении приостановленной службы (через консоль служб или программным способом) OnContinue выполняется обработка, и служба снова активируется.

Команда Pause позволяет приложению реагировать только на определенное событие. OnPause не выполняет никаких действий для службы, которую вы не определяете для этого.

Отправка запроса приостановки службе может сэкономить системные ресурсы, так как приостановка не должна освобождать все системные ресурсы. Например, если потоки были открыты процессом, приостановка службы, а не остановка, она может позволить потокам оставаться открытыми, что не позволяет перераспределять их при продолжении службы. Если вы определяете Приостановку для освобождения всех системных ресурсов, она ведет себя как команда Stop.

Задайте значение CanPauseAndContinue и переопределите OnPause и OnContinue укажите обработку, которая должна происходить, когда SCM передает запрос приостановки или продолжения в trueслужбу. OnContinue должен быть реализован для отмены обработки в OnPause.

В противном случае CanPauseAndContinue falseSCM не будет передавать запросы приостановки или продолжения в службу, поэтому OnPause OnContinue методы и методы не будут вызываться, даже если они реализованы. В SCM Pause элементы управления и Continue элементы управления отключаются, если CanPauseAndContinue есть false.

Применяется к

См. также раздел