다음을 통해 공유


워크플로 관리 끝점

이 항목은 Windows Workflow Foundation 4에 적용됩니다.

개발자는 워크플로 관리 끝점을 사용하여 WorkflowServiceHost에 의해 호스팅되는 워크플로 인스턴스를 원격으로 제어할 수 있는 제어 작업을 호출할 수 있습니다. 이 기능은 일시 중단, 다시 시작 및 종료 같은 제어 작업을 프로그래밍 방식으로 수행하는 데 사용될 수 있습니다.

워크플로 인스턴스 관리

.NET Framework 버전 4에서는 IWorkflowInstanceManagement라는 새 계약을 정의합니다. 이 계약은 WorkflowServiceHost에 의해 호스팅되는 워크플로 인스턴스를 원격으로 제어할 수 있는 일련의 제어 작업을 정의합니다. WorkflowControlEndpointIWorkflowInstanceManagement 계약의 구현을 제공하는 표준 끝점입니다. WorkflowControlClientWorkflowControlEndpoint에 제어 작업을 보내는 데 사용되는 클래스입니다.

워크플로 인스턴스의 상태는 다음 중 하나일 수 있습니다.

  • 활성
    워크플로 인스턴스가 완료됨 상태에 도달하기 전이고 일시 중단됨 상태에 있지 않는 상태입니다. 이 상태 동안에는 워크플로 인스턴스가 실행되어 응용 프로그램 메시지를 처리합니다.
  • 일시 중단됨
    이 상태 동안에는 실행이 시작되지 않았거나 부분적으로 실행된 동작이 있는 경우에도 워크플로 인스턴스가 실행되지 않습니다.
  • 완료됨
    워크플로 인스턴스의 최종 상태입니다. 완료됨 상태에 도달한 후에는 워크플로 인스턴스를 실행할 수 없습니다.

IWorkflowInstanceManagement

IWorkflowInstanceManagement 인터페이스는 동기 및 비동기 버전이 있는 일련의 제어 작업을 정의합니다. 트랜잭트 버전에서는 트랜잭션 인식 바인딩을 사용해야 합니다. 다음 표에서는 지원되는 제어 작업을 보여 줍니다.

제어 작업 설명

중단

워크플로 인스턴스의 실행을 강제로 중지합니다.

취소

워크플로 인스턴스를 활성 또는 일시 중단됨 상태에서 완료됨 상태로 전환합니다.

실행

워크플로 인스턴스를 실행할 수 있는 기회를 제공합니다.

일시 중단

워크플로 인스턴스를 활성 상태에서 일시 중단됨 상태로 전환합니다.

종료

워크플로 인스턴스를 활성 또는 일시 중단됨 상태에서 완료됨 상태로 전환합니다.

일시 중단 해제

워크플로 인스턴스를 일시 중단됨 상태에서 활성 상태로 전환합니다.

TransactedCancel

클라이언트로부터 이동해 왔거나 로컬로 만들어진 트랜잭션에서 취소 작업을 수행합니다. 시스템에서 워크플로 인스턴스의 지속적 상태를 유지하는 경우 이 작업이 실행되는 동안 워크플로 인스턴스를 유지해야 합니다.

TransactedRun

클라이언트로부터 이동해 왔거나 로컬로 만들어진 트랜잭션에서 실행 작업을 수행합니다. 시스템에서 워크플로 인스턴스의 지속적 상태를 유지하는 경우 이 작업이 실행되는 동안 워크플로 인스턴스를 유지해야 합니다.

TransactedSuspend

클라이언트로부터 이동해 왔거나 로컬로 만들어진 트랜잭션에서 일시 중단 작업을 수행합니다. 시스템에서 워크플로 인스턴스의 지속적 상태를 유지하는 경우 이 작업이 실행되는 동안 워크플로 인스턴스를 유지해야 합니다.

TransactedTerminate

클라이언트로부터 이동해 왔거나 로컬로 만들어진 트랜잭션에서 종료 작업을 수행합니다. 시스템에서 워크플로 인스턴스의 지속적 상태를 유지하는 경우 이 작업이 실행되는 동안 워크플로 인스턴스를 유지해야 합니다.

TransactedUnsuspend

클라이언트로부터 이동해 왔거나 로컬로 만들어진 트랜잭션에서 일시 중단 해제 작업을 수행합니다. 시스템에서 워크플로 인스턴스의 지속적 상태를 유지하는 경우 이 작업이 실행되는 동안 워크플로 인스턴스를 유지해야 합니다.

IWorkflowInstanceManagement 계약을 통해서는 새 워크플로 인스턴스를 만들 수 없고 기존 워크플로 인스턴스를 관리할 수만 있습니다. 원격으로 새 워크플로 인스턴스 만들기에 대한 자세한 내용은 워크플로 서비스 호스트 확장을 참조하십시오.

WorkflowControlEndpoint

WorkflowControlEndpoint는 고정된 계약인 IWorkflowInstanceManagement가 있는 표준 끝점입니다. WorkflowServiceHost 인스턴스에 추가될 경우 이 끝점은 호스트 인스턴스에 의해 호스팅되는 워크플로 인스턴스에 명령 작업을 보내는 데 사용될 수 있습니다. 표준 끝점에 대한 자세한 내용은 Standard Endpoints을 참조하십시오.

WorkflowControlClient

WorkflowControlClientWorkflowServiceHostWorkflowControlEndpoint에 제어 메시지를 보낼 수 있는 클래스입니다. 여기에는 IWorkflowInstanceManagement 계약에서 지원하는 각 작업(트랜잭트 작업 제외)에 대한 메서드가 포함됩니다. WorkflowControlClient는 앰비언트 트랜잭션을 사용하여 트랜잭트 작업을 사용해야 하는지 여부를 결정합니다.