다음을 통해 공유


Canceling a Workflow 샘플

Download sample

이 샘플에서는 절대 발생하지 않을 외부 이벤트를 기다리는 워크플로를 종료하는 방법을 보여 줍니다. 이 워크플로는 비용 보고서를 제출하고 승인을 기다리는 비용 보고 샘플입니다. 하지만 이 샘플은 승인 이벤트가 절대 도착하지 않도록 만들어졌습니다.

이 호스트 콘솔 응용 프로그램은 종료되지 않는 워크플로를 끝내는 취소 워크플로 기능을 구현합니다. 이 기능이 Terminate 메서드 호출을 통한 워크플로 종료와 다른 차이는 예외 처리기나 보정 처리기를 실행하지 않는 비정상적인 강제 종료라는 점입니다. 이 샘플에서 사용하는 메서드는 예외 처리기 및 보정 처리기가 워크플로를 해제하고 결국 종료시키도록 합니다.

이를 위해 호스트 응용 프로그램은 워크플로를 차단하고 있는 활동을 알아내기 위해 런타임을 쿼리합니다. 워크플로의 큐 이름이 GetWorkflowQueueData 메서드에 반환됩니다. 워크플로에서 처리하지 않은 예외는 EnqueueItem 메서드를 통해 이 큐로 전달됩니다.

참고

이 샘플에서는 워크플로가 일시 중지되어 이벤트를 기다리는지 확인하기 위해 유휴 상태 이벤트를 사용하지만, 더 강력한 응용 프로그램에서는 워크플로가 유휴 상태로 된 데에 다른 이유가 없었는지 확인합니다.

샘플은 다음과 같이 출력됩니다.

Canceling a Workflow 샘플 출력

이 샘플을 빌드하려면

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

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

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

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

  4. 명령 프롬프트에서 **MSBUILD <Solution file name>**을 입력합니다.

이 샘플을 실행하려면

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

데이터베이스 구성

Windows Workflow Foundation으로 설치되는 SQL 서비스는 Microsoft SQL Server를 사용하여 정보를 저장합니다. 이러한 작업에 Microsoft SQL Server 2005 Express, SQL Server 2000 이상 버전 또는 SQL Server 2000 Desktop Engine(MSDE)을 사용할 수 있습니다.

Windows Workflow Foundation 설치 프로그램은 이러한 서비스에 필요한 데이터베이스를 설치하지 않지만, 이러한 서비스에 대한 데이터베이스를 만들고 구성하기 위한 SQL 스크립트를 설치합니다.

다음 단계에서는 이 샘플에서 서비스에 의해 사용되는 데이터베이스를 만들고 구성하는 방법을 설명합니다.

SQL Server 데이터베이스를 만들고 구성하려면

  1. Microsoft SQL Server 2005 Express, SQL Server 2000 이상 버전 또는 MSDE(SQL Server 2000 Desktop Engine)에서 다음과 같은 SQL 쿼리문을 사용하여 이름이 SqlPersistenceService인 새 데이터베이스를 만듭니다.

    CREATE DATABASE SqlPersistenceService

    참고   워크플로 응용 프로그램에서 SqlTrackingServiceSqlWorkflowPersistenceService를 모두 사용할 경우 유지와 추적 모두에 단일 데이터베이스를 사용하는 것이 좋습니다.

  2. SQL 쿼리 분석기 작업 영역의 사용 가능한 데이터베이스 목록에서 1단계에서 만든 데이터베이스를 선택합니다.

  3. 파일 메뉴에서 열기를 클릭하고 SQL 스크립트 %WINDIR%\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\<language>\SqlPersistenceService_Schema를 엽니다.

  4. 실행을 클릭하거나 F5 키를 눌러 쿼리를 실행하여 SQL 유지 서비스 표를 만듭니다.

  5. 파일 메뉴에서 열기를 클릭하고 SQL 스크립트 %WINDIR%\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\<language>\SqlPersistenceService_Logic을 엽니다.

  6. 실행을 클릭하거나 F5 키를 눌러 쿼리를 실행하여 SQL 유지 서비스 저장 프로시저를 만듭니다.

참고 항목

참조

GetWorkflowQueueData
EnqueueItem
WorkflowQueueInfo
TerminateActivity
Terminate

기타 리소스

호스팅 샘플
Hosting the Windows Workflow Foundation Runtime

Footer image

Copyright © 2007 by Microsoft Corporation. All rights reserved.