다음을 통해 공유


Nested Exception Handlers 샘플

Download sample

이 샘플에서는 Windows Workflow Foundation 예외 처리기를 설정하고 사용하는 방법을 보여 줍니다. 예외는 워크플로, 활동 및 사용자 수준 오류 조건을 처리하는 데 구조적이고 일정하며 형식이 안전한 방식을 제공합니다. Windows Workflow Foundation의 예외 메커니즘은 C#과 비슷합니다. 이 메커니즘에서 개발자는 예외를 throw하고 형식별로 예외를 catch하며 변수에 예외를 할당할 수 있습니다.

둘 이상의 예외 처리기를 워크플로에 연결하거나 예외 처리기 동작을 가능하게 하는 활동에 연결할 수 있습니다. 이로 인해 개발자는 예외 형식에 따라 처리기 코드를 서로 다르게 할 수 있습니다. C#의 경우와 마찬가지로, 예외가 throw되면 호출 스택 중 이 예외 형식과 일치하는 첫 번째 예외 처리기가 호출됩니다. 예를 들어 orderException 예외가 throw되었고 이 형식에 대한 예외 처리가 없는 경우, 워크플로 수준에 도달할 때까지 그 예외를 포함하는 활동에 있는 임의의 예외 처리기를 기준으로 예외를 평가합니다. 워크플로 예외 처리기가 실행된 후 또는 워크플로 수준에서 사용 가능한 처리기가 없는 경우 워크플로가 종료됩니다.

이 샘플에서는 워크플로에 FaultHandlersActivity 활동이 포함되어 있습니다. 이 활동은 예외 처리를 지원하는 복합 활동입니다. SynchronizationScopeActivity 활동은 단일 CodeActivity 활동을 포함합니다. CodeActivity 활동의 코드 처리기가 System.Exception을 throw합니다. FaultHandlersActivity 활동에는 System.Exception 예외에 대한 예외 처리기가 있어 이 예외를 처리하도록 호출됩니다.

샘플 사용

이 샘플을 사용하려면 먼저 SQL 유지 데이터베이스를 만들어야 합니다.

SQL 유지 데이터베이스를 만들려면

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

    CREATE DATABASE SqlPersisenceService

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

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

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

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

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

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

이 샘플을 빌드하려면

  1. 이 항목에서 샘플 다운로드를 클릭하여 샘플을 다운로드합니다.

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

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

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

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

이 샘플을 실행하려면

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

참고 항목

참조

FaultHandlersActivity
SynchronizationScopeActivity
CodeActivity

기타 리소스

Windows Workflow Foundation Activities
Throw 샘플
Fault Handling in Workflows
Using the FaultHandlersActivity Activity
활동 샘플
Windows Workflow Foundation 샘플

Footer image

Copyright © 2007 by Microsoft Corporation. All rights reserved.