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 null 참조입니다(Visual Basic Nothing).

-또는-

서비스가 이미 시작되었습니다.

설명

Start는 호출될 때 WorkflowRuntimeService 클래스에서 파생되는 모든 서비스에서 워크플로 런타임 엔진에 StartRuntime 의해 호출됩니다.

Start 는 워크플로 런타임 엔진이 이미 시작된 후 호출을 통해 워크플로 런타임 엔진에 워크플로 런타임 엔진 서비스가 추가될 때 워크플로 런타임 엔진에서 호출 AddService 됩니다. 기본 구현 Start 은 서비스가 시작되었는지 여부를 추적하고 이 정보를 사용하여 서비스가 이미 실행 중인 동안 서비스가 시작된 경우 적절한 예외를 throw합니다.

이 메서드를 재정의하여 워크플로 런타임 엔진에서 서비스를 시작하는 데 필요한 추가 기능을 제공할 수 있습니다. 워크플로 런타임 엔진이 서비스에 대해 호출 Start 할 때 어떤 서비스가 실행될지 보장할 수 없습니다. 따라서 메서드에서 Start 다른 서비스에서 제공하는 기능에 의존하지 않는 초기화만 수행해야 합니다. 여기에는 스케줄러 서비스와 같은 핵심 서비스에서 제공하는 기능이 포함됩니다. 워크플로 런타임 엔진은 모든 워크플로 런타임 엔진 서비스의 메서드를 호출한 WorkflowRuntime.Started 후 이벤트를 발생 Start 합니다. 모든 워크플로 런타임 엔진 서비스가 시작된 후 서비스에 추가 초기화가 필요한 경우 이벤트가 발생할 때 이 초기화를 수행하기 위해 메서드를 재정 OnStartedStart 할 수 있습니다.

메모

워크플로 런타임 엔진이 이미 시작된 후 호출을 AddService 통해 서비스가 워크플로 런타임 엔진에 추가되면 워크플로 런타임 엔진이 서비스를 호출 Start 합니다. 그러나 이 경우 Started 이벤트가 이미 발생했으므로 서비스는 일반적으로 메서드 내부에서 OnStarted 수행하는 초기화를 수행해야 Start 할 수 있습니다. 워크플로 런타임 엔진이 시작되었는지 여부를 테스트 IsStarted 하여 확인할 수 있습니다.

Start 는 워크플로 런타임 엔진에서만 호출해야 합니다.

적용 대상