Поделиться через


WorkflowRuntimeService.Start Метод

Определение

При переопределении в производном классе запускает службу и изменяет State на Starting.

protected public:
 virtual void Start();
protected internal virtual void Start ();
abstract member Start : unit -> unit
override this.Start : unit -> unit
Protected Friend Overridable Sub Start ()

Исключения

Параметр Runtime является неопределенной ссылкой (Nothing в Visual Basic).

-или-

Служба уже запущена.

Примеры

В следующем примере показан вызов метода «Пуск» в объекте, производном от WorkflowRuntimeService, TerminationTrackingService. Данный пример является частью примера SDK "Termination Tracking Service". Дополнительные сведения см. в разделе Пример службы отслеживания завершения.

protected override void Start()
{
    base.Start();
    //
    // This will throw if we are invalid to inform the host immediately
    ValidateEventLogSource(source);
}
Protected Overrides Sub Start()
    MyBase.Start()
    '
    ' This will throw if we are invalid to inform the host immediately
    ValidateEventLogSource(source)
End Sub

Комментарии

Start вызывается подсистемой среды выполнения рабочих процессов во всех службах, производных от класса WorkflowRuntimeService, при вызове StartRuntime.

Start также вызывается подсистемой среды выполнения рабочих процессов при добавлении службы подсистемы среды выполнения рабочих процессов в подсистему среды выполнения рабочих процессов вызовом AddService после запуска подсистемы среды выполнения рабочих процессов. Реализация по умолчанию Start отслеживает запуск службы и использует эти сведения для вызова подходящего исключения, если служба запущена во время ее выполнения.

Можно обеспечить дополнительные функциональные возможности, необходимые для запуска службы подсистемой среды выполнения рабочих процессов, путем переопределения этого метода. Невозможно гарантировать, какие службы (если таковые имеются) будут выполняться при вызове Start подсистемой среды выполнения рабочих процессов в службе. Поэтому в методе Start необходимо выполнить только любую инициализацию, не зависящую от функциональных возможностей, предоставленных другими службами. Сюда включаются функциональные возможности, предоставленные базовыми службами, например, службой планирования заданий. Подсистема среды выполнения рабочих процессов вызывает событие WorkflowRuntime.Started после вызова метода Start всех служб подсистемы среды выполнения рабочих процессов. Если службе необходима дополнительная инициализация после запуска всех служб подсистемы среды выполнения рабочих процессов, можно переопределить метод OnStarted, чтобы выполнить эту инициализацию при вызове события Start.

Примечание

При добавлении службы в подсистему среды выполнения рабочих процессов путем вызова AddService после запуска подсистемы среды выполнения рабочих процессов, подсистема среды выполнения рабочих процессов вызовет Start в службе. Однако в данной ситуации событие Started уже возникло, поэтому службе может потребоваться выполнить инициализацию, которая обычно выполняется в OnStarted из метода Start. Можно проверить IsStarted, чтобы определить, была ли запущена подсистема среды выполнения рабочих процессов.

Класс Start должен вызываться только подсистемой среды выполнения рабочих процессов.

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