다음을 통해 공유


Raise Event to Load Workflow 샘플

Download sample

이 샘플의 워크플로는 승인받기 위해 문서를 보낼 때 DocumentApprovalInterfaceRequestDocumentApproval 메서드에 바인딩된 CallExternalMethodActivity 활동을 사용합니다. 워크플로의 다음 활동은 DocumentApproved 이벤트를 처리하는 HandleExternalEventActivity 활동입니다.

워크플로가 유휴 상태일 때, 즉 워크플로 인스턴스에 대해 수행할 작업이 없을 때마다 인스턴스를 언로드하도록 런타임이 구성되었습니다. HandleExternalEventActivity 활동이 문서 승인을 위해 며칠 또는 몇 주씩 오랫동안 대기할 수도 있으므로 이는 중요한 기능입니다.

DocumentApprovalInterface에서는 문서 승인을 보내고 받는 메서드와 이벤트를 정의합니다. DocumentApprovalService 클래스는 워크플로 및 호스트 응용 프로그램으로 데이터가 드나들게 하는 메서드 호출과 이벤트 처리를 위해 프록시를 수행하도록 DocumentApprovalInterface를 구현합니다.

워크플로는 승인받을 문서를 RequestDocumentApproval 메서드를 통해 보내 문서 승인 프로세스를 시작하며, 이 메서드는 문서를 대상에게 전달합니다(구현되지 않음). 워크플로가 유휴 상태가 되면 호스트 OnWorkflowIdled 이벤트 처리기가 호출됩니다. 그와 동시에 런타임은 FilePersistenceService를 통해 워크플로 인스턴스를 언로드합니다. WorkflowIdled 처리기에서는 워크플로에 대해 DocumentApproved 이벤트를 발생시킵니다. DocumentApproved 이벤트가 HandleExternalEventActivity documentApprovedInvoked 처리기에 전달됩니다.

이 샘플에서는 워크플로 상태를 파일에 serialize하는 사용자 지정 유지 서비스(FilePersistenceService)도 사용합니다.

응용 프로그램을 빌드하고 실행하면 다음과 같이 출력됩니다.

Raise Event to Load Workflow

이 샘플을 빌드하려면

  1. 샘플 다운로드를 클릭하여 샘플을 다운로드합니다.

    이렇게 하면 샘플 프로젝트가 로컬 하드 디스크에 추출됩니다.

  2. 시작을 클릭하고 프로그램, Microsoft Windows SDK를 차례로 가리킨 다음 CMD 셸을 클릭합니다.

  3. 샘플의 소스 디렉터리로 이동합니다.

  4. 명령 프롬프트에서 MSBUILD RaiseEventToLoadWorkflow.sln을 입력합니다.

이 샘플을 실행하려면

  • SDK 명령 프롬프트 창에서 샘플의 주 폴더 아래에 있는 DocumentApprovalWorkflow\bin\debug 폴더 또는 DocumentApprovalWorkflow\bin 폴더(VB 버전의 샘플의 경우)의 .exe 파일을 실행합니다.

참고 항목

기타 리소스

호스팅 샘플

Footer image

Copyright © 2007 by Microsoft Corporation. All rights reserved.