워크플로는 실제 프로세스를 설명하는 모델로 저장되는 활동 이라는 요소 단위 집합입니다. 워크플로는 실행 순서와 단기 또는 장기 실행 작업 간의 종속 관계를 설명하는 방법을 제공합니다. 이 작업은 처음부터 끝까지 모델을 통과하며, 작업은 사용자 또는 시스템 함수에 의해 실행될 수 있습니다.
워크플로 런타임 엔진
실행 중인 모든 워크플로 인스턴스는 호스트 프로세스가 다음 중 하나를 통해 상호 작용하는 In-process 런타임 엔진에 의해 생성되고 유지 관리됩니다.
메서드처럼 워크플로를 호출하는 A WorkflowInvoker.
WorkflowApplication 단일 워크플로 인스턴스의 실행에 대한 명시적 제어를 위한 A입니다.
WorkflowServiceHost는 다중 인스턴스 시나리오에서 메시지 기반 상호 작용을 위한 것입니다.
각 클래스는 활동을 실행하는 데 책임이 있는 핵심 활동 런타임, 즉 ActivityInstance를 래핑합니다. 애플리케이션 도메인 내에서 동시에 실행되는 여러 ActivityInstance 개체가 있을 수 있습니다.
위의 세 개의 호스트 상호 작용 개체는 각각 워크플로 프로그램이라고 하는 활동 트리에서 만들어집니다. 이러한 형식 또는 래핑 ActivityInstance하는 사용자 지정 호스트를 사용하여 콘솔 애플리케이션, 양식 기반 애플리케이션, Windows 서비스, ASP.NET 웹 사이트 및 WCF(Windows Communication Foundation) 서비스를 비롯한 모든 Windows 프로세스 내에서 워크플로를 실행할 수 있습니다.
호스트 프로세스 의
호스트 프로세스의 워크플로 구성 요소
워크플로 구성 요소 간의 상호 작용
다음 다이어그램에서는 워크플로 구성 요소가 서로 상호 작용하는 방법을 보여 줍니다.
위의 다이어그램 Invoke 에서 클래스의 WorkflowInvoker 메서드는 여러 워크플로 인스턴스를 호출하는 데 사용됩니다. WorkflowInvoker 는 호스트에서 관리할 필요가 없는 간단한 워크플로에 사용됩니다. 호스트에서 관리해야 하는 워크플로(예: Bookmark 다시 시작)를 대신 사용하여 Run 실행해야 합니다. 다른 워크플로 인스턴스를 호출하기 전에 한 워크플로 인스턴스가 완료되기를 기다릴 필요는 없습니다. 런타임 엔진은 여러 워크플로 인스턴스를 동시에 실행할 수 있습니다. 호출된 워크플로는 다음과 같습니다.
Sequence 활동에 WriteLine 자식 활동이 포함되어 있습니다. 부모 활동의 Variable가 자식 활동의 InArgument에 바인딩됩니다. 변수, 인수 및 바인딩에 대한 자세한 내용은 변수 및 인수를 참조하세요.
사용자 지정 작업인
ReadLine
. OutArgument 활동 중ReadLine
하나는 호출 Invoke 메서드로 반환됩니다.추상 클래스에서 CodeActivity 파생되는 사용자 지정 작업입니다. CodeActivity는 CodeActivityContext 메서드의 매개 변수로 제공되는 Execute을 사용하여 런타임 기능(예: 추적 및 속성)에 액세스할 수 있습니다. 이러한 런타임 기능에 대한 자세한 내용은 워크플로 추적 및 추적 및워크플로 실행 속성을 참조하세요.
참고하십시오
.NET