WorkflowRuntimeService.Stop 메서드

정의

파생 클래스에서 재정의된 경우 서비스를 중지하고 다음으로 State변경 Stopping 합니다.

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

예외

Runtime null 참조입니다(Visual Basic Nothing).

-또는-

서비스가 아직 시작되지 않았습니다.

설명

Stop는 호출될 때 WorkflowRuntimeService 클래스에서 파생되는 모든 서비스에서 워크플로 런타임 엔진에 StopRuntime 의해 호출됩니다. Stop 는 워크플로 런타임 엔진 서비스가 워크플로 런타임 엔진에서 호출에 의해 제거될 때 워크플로 런타임 엔진에서 호출됩니다 RemoveService. 기본 구현 Stop 은 서비스가 시작되었는지 여부를 추적하고 이 정보를 사용하여 서비스가 시작되기 전에 중지된 경우 적절한 예외를 throw합니다.

이 메서드를 재정의하여 워크플로 런타임 엔진에서 서비스를 중지하는 데 필요한 추가 기능을 제공할 수 있습니다. 서비스에서 호출될 때 Stop 어떤 서비스가 중지되거나 실행될 것인지에 대한 보장은 없습니다. 워크플로 런타임 엔진은 모든 워크플로 런타임 엔진 서비스의 메서드를 호출한 WorkflowRuntime.Stopped 후 이벤트를 발생 Stop 합니다. 모든 워크플로 런타임 엔진 서비스에서 워크플로 런타임 엔진에서 중지 메서드를 호출할 때까지 서비스는 다른 서비스를 지원하기 위해 일부 잔여 기능을 유지해야 할 수 있습니다. 서비스에서 이러한 기능을 유지해야 하는 경우 이벤트가 발생할 때 서비스 중지를 OnStopped 완료하는 데 필요한 추가 작업을 수행하도록 메서드를 재정의 WorkflowRuntime.Stopped 할 수 있습니다.

메모

WorkflowRuntimeService 워크플로 런타임 엔진이 실행되는 동안 호출을 RemoveService 통해 워크플로 런타임 엔진에서 제거된 경우 워크플로 런타임 엔진이 서비스에 대해 호출 Stop 됩니다. 그러나 이 경우 서비스에 대해 메서드가 OnStopped 호출되지 않습니다. 따라서 서비스는 일반적으로 메서드 내부에서 OnStopped 수행하는 추가 종료 기능을 수행해야 Stop 할 수 있습니다. 워크플로 런타임 엔진이 실행 중인지 여부를 테스트 IsStarted 하여 확인할 수 있습니다.

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

적용 대상