入れ子にされた例外ハンドラのサンプル
このサンプルでは、Windows Workflow Foundation 例外ハンドラの設定方法と使用法を説明します。例外を使用すると、ワークフロー、アクティビティ、およびユーザー レベルのエラー条件を、構造化され、統一された、タイプ セーフな方法で処理することができます。Windows Workflow Foundation の例外メカニズムは C# に似ています。開発者は、例外をスローしたり、種類別に例外をキャッチしたり、例外に変数を割り当てることができます。
複数の例外ハンドラを、ワークフロー、または例外ハンドラの動作を有効にするアクティビティに関連付けることができます。これにより、開発者は例外タイプに基づいてさまざまなハンドラ コードを作成することができます。C# と同様、例外がスローされると、例外タイプと一致する呼び出しスタックの最初の例外ハンドラが呼び出されます。たとえば、例外 orderException がスローされたが、そのタイプの例外処理が存在しない場合、この例外はアクティビティ内に格納されている各例外ハンドラに対して評価されます。この処理は、ワークフロー レベルに達するまで行われます。ワークフローの例外ハンドラが実行された後、あるいは使用できる例外ハンドラがワークフロー レベルになかった場合に、ワークフローは終了します。
このサンプルのワークフローには FaultHandlersActivity アクティビティが含まれています。これは例外処理をサポートする複合アクティビティです。SynchronizationScopeActivity アクティビティには、1 つの CodeActivity アクティビティが含まれています。CodeActivity アクティビティのコード ハンドラは System.Exception をスローします。FaultHandlersActivity アクティビティには、System.Exception 例外を処理するために呼び出される例外ハンドラがあります。
サンプルの使用
このサンプルを使用するには、SQL 永続性データベースを作成する必要があります。
SQL 永続性データベースを作成するには
Microsoft SQL Server 2005 Express、SQL Server 2000 以降、または SQL Server 2000 Desktop Engine (MSDE) を使用して、SQL クエリ ステートメント
CREATE DATABASE SqlPersisenceService
で新規データベース SqlPersistenceService を作成します。メモ ワークフロー アプリケーションで SqlTrackingService と SqlWorkflowPersistenceService の両方を使用する場合は、永続性と追跡に対して単一のデータベースを使用することをお勧めします。
SQL Query Analyzer 作業領域で、使用可能なデータベースのリストから手順 1. で作成したデータベースを選択します。
[ファイル] メニューの [開く] をクリックして、SQL スクリプト %WINDIR%\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\<言語>\SqlPersistenceService_Schema.sql を開きます。
[実行] をクリックするか、F5 をクリックしてクエリを実行し、SQL 永続性サービス テーブルを作成します。
[ファイル] メニューの [開く] をクリックして、SQL スクリプト %WINDIR%\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\<言語>\SqlPersistenceService_Logic.sql を開きます。
[実行] をクリックするか、F5 をクリックしてクエリを実行し、SQL 永続性サービス ストアド プロシージャを作成します。
サンプルをビルドするには
このトピックの [サンプルのダウンロード] をクリックしてサンプルをダウンロードします。
これにより、サンプル プロジェクトがローカルのハード ディスクに抽出されます。
[スタート] をクリックし、[すべてのプログラム] をポイントします。次に、[Microsoft Windows SDK] をポイントし、[CMD シェル] をクリックします。
サンプルのソース ディレクトリに移動します。
コマンド プロンプトで、「MSBUILD <ソリューション ファイル名>」と入力します。
サンプルを実行するには
- [SDK コマンド プロンプト] ウィンドウで、OutlookWorkflowWizard\bin\debug フォルダ (このサンプルの VB のバージョンでは、OutlookWorkflowWizard\bin フォルダ) にある .exe ファイルを実行します (このサンプルでは、メイン フォルダの下にあります)。
関連項目
参照
FaultHandlersActivity
SynchronizationScopeActivity
CodeActivity
その他の技術情報
Windows Workflow Foundation Activities
スローのサンプル
Fault Handling in Workflows
Using the FaultHandlersActivity Activity
アクティビティのサンプル
Windows Workflow Foundation のサンプル
Copyright © 2007 by Microsoft Corporation.All rights reserved.