簡単な追跡のサンプル
このサンプルでは、Windows Workflow Foundation で提供されている SQL 追跡サービスを使用して、ワークフローの実行を追跡する方法を示します。
ワークフロー ランタイムが、ワークフローの実行中に特定のイベントを発生させます。追跡サービスがこれらのイベントをキャッチし、イベントに関する情報を SQL Server データベースに格納して照会できるようにします。
ワークフロー ランタイムは、次の種類のイベントを発生させます。
**インスタンス レベルのイベント。**このイベントは、ワークフロー インスタンスが特定の状態になったときに発生します。たとえば、ワークフロー インスタンスが初期化されたり実行されたりすると、イベントが発生します。
**アクティビティ レベルのイベント。**ワークフローは複数のアクティビティで構成され、各アクティビティにはライフサイクルがあります。アクティビティは、ライフサイクルの間、複数の状態を通過します。アクティビティが特定の状態に到達すると例外が発生します。
**ユーザー追跡イベント。**ワークフロー作成者は、カスタムの追跡イベントを作成し、ワークフローのコード側に追加できます。
ワークフロー データ コンテキストのデータは出力され、イベントと共に追跡サービスに渡されます。
ワークフローを追跡している場合、すべての状態およびアクティビティのすべてのイベントを追跡する必要はありません。追跡プロファイルを作成して、対象にするイベントおよびデータを指定できます。SQL 追跡サービスには既定の追跡プロファイルがあります。この例では、既定の追跡プロファイルを利用して SQL 追跡サービスを使用する方法を示します。
追跡サービスをワークフロー ランタイムに登録するには、次のコードを使用します。
WorkflowRuntime wr = new WorkflowRuntime();
wr.AddService(new SqlTrackingService(connectionstring));
wr.StartRuntime();
2 行目で、SQL 追跡サービスをワークフロー ランタイムに登録しています。接続文字列は、追跡データベースの接続文字列です。
サンプルからの出力は次のようになります。
追跡データベースの作成
Windows Workflow Foundation によってインストールされた SQL サービスは、Microsoft SQL Server を使用して情報を保存します。これらの作業には、Microsoft SQL Server 2005 Express、SQL Server 2000 以降のバージョン、または Microsoft SQL Server 2000 Desktop Engine (MSDE) を使用できます。
Windows Workflow Foundation のセットアップでは、これらのサービスに必要なデータベースはインストールされませんが、これらのサービスで使用するデータベースを作成および構成するための SQL スクリプトはインストールされます。
SQL 追跡データベースを作成するには
Microsoft SQL Server 2005 Express、SQL Server 2000 以降、または SQL Server 2000 Desktop Engine (MSDE) で、次の SQL クエリ ステートメントを使用して新規データベース Tracking を作成します。
CREATE DATABASE Tracking
メモ : |
---|
ワークフロー アプリケーションで SqlTrackingService と SqlWorkflowPersistenceService の両方を使用する場合は、永続性と追跡に対して単一のデータベースを使用することをお勧めします。 |
SQL Query Analyzer 作業領域で、使用可能なデータベースのリストから手順 1. で作成したデータベースを選択します。
[ファイル] メニューの [開く] をクリックして、SQL スクリプト %WINDIR%\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\<言語>\Tracking_Schema.sql を開きます。
[実行] をクリックするか F5 キーを押してクエリを実行し、SQL 追跡サービス テーブルを作成します。
[ファイル] メニューの [開く] をクリックして、SQL スクリプト %WINDIR%\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\<言語>\Tracking_Logic.sql を開きます。
[実行] をクリックするか F5 キーを押してクエリを実行し、SQL 追跡サービス ストアド プロシージャを作成します。
サンプルをビルドするには
[サンプルのダウンロード] をクリックして、サンプルをダウンロードします。
これにより、サンプル プロジェクトがローカル コンピュータのハード ディスクにダウンロードされます。
[スタート] ボタンをクリックし、[すべてのプログラム] をポイントします。次に、[Microsoft Windows SDK] をポイントし、[CMD シェル] をクリックします。
サンプルのソース ディレクトリに移動します。
コマンド プロンプトで、「MSBUILD <ソリューション ファイル名>」と入力します。
サンプルを実行するには
- SDK コマンド プロンプト ウィンドウで、SimpleTrackingSample\bin\debug フォルダ (このサンプルの VB のバージョンでは、SimpleTrackingSample\bin フォルダ) にある .exe ファイルを実行します (このサンプルでは、メイン フォルダの下にあります)。
関連項目
参照
SqlTrackingService
SqlTrackingQuery
SqlTrackingWorkflowInstance
ActivityEvents
ActivityTrackingRecord
WorkflowEvents
WorkflowTrackingRecord
その他の技術情報
追跡サンプル
SQLTrackingService サンプルを使用するクエリ
ユーザー追跡ポイントを使用した追跡のサンプル
EventArgs 追跡サンプル
ConsoleTrackingService のサンプル
SQLTrackingService サンプルを使用するクエリ
RuleActionTrackingEvent サンプル
ファイル追跡サービスとクエリのサンプル
追跡プロファイル オブジェクト モデル サンプルの使用
SQL データ保守のサンプル
Copyright © 2007 by Microsoft Corporation.All rights reserved.