WorkflowRuntimeService.Start 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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 ()
예외
설명
Start는 호출될 때 WorkflowRuntimeService 클래스에서 파생되는 모든 서비스에서 워크플로 런타임 엔진에 StartRuntime 의해 호출됩니다.
Start 는 워크플로 런타임 엔진이 이미 시작된 후 호출을 통해 워크플로 런타임 엔진에 워크플로 런타임 엔진 서비스가 추가될 때 워크플로 런타임 엔진에서 호출 AddService 됩니다. 기본 구현 Start 은 서비스가 시작되었는지 여부를 추적하고 이 정보를 사용하여 서비스가 이미 실행 중인 동안 서비스가 시작된 경우 적절한 예외를 throw합니다.
이 메서드를 재정의하여 워크플로 런타임 엔진에서 서비스를 시작하는 데 필요한 추가 기능을 제공할 수 있습니다. 워크플로 런타임 엔진이 서비스에 대해 호출 Start 할 때 어떤 서비스가 실행될지 보장할 수 없습니다. 따라서 메서드에서 Start 다른 서비스에서 제공하는 기능에 의존하지 않는 초기화만 수행해야 합니다. 여기에는 스케줄러 서비스와 같은 핵심 서비스에서 제공하는 기능이 포함됩니다. 워크플로 런타임 엔진은 모든 워크플로 런타임 엔진 서비스의 메서드를 호출한 WorkflowRuntime.Started 후 이벤트를 발생 Start 합니다. 모든 워크플로 런타임 엔진 서비스가 시작된 후 서비스에 추가 초기화가 필요한 경우 이벤트가 발생할 때 이 초기화를 수행하기 위해 메서드를 재정 OnStarted 의 Start 할 수 있습니다.
메모
워크플로 런타임 엔진이 이미 시작된 후 호출을 AddService 통해 서비스가 워크플로 런타임 엔진에 추가되면 워크플로 런타임 엔진이 서비스를 호출 Start 합니다. 그러나 이 경우 Started 이벤트가 이미 발생했으므로 서비스는 일반적으로 메서드 내부에서 OnStarted 수행하는 초기화를 수행해야 Start 할 수 있습니다. 워크플로 런타임 엔진이 시작되었는지 여부를 테스트 IsStarted 하여 확인할 수 있습니다.
Start 는 워크플로 런타임 엔진에서만 호출해야 합니다.