注文処理ステート マシンのサンプル
注文処理ステート マシンのサンプルは、ステート マシン ワークフローを使用した注文処理ソリューションを実装するアプリケーションです。
この種のアプリケーションでは、1 つの注文は完了までにいくつかの状態を移行します。このサンプルでは、4 つの状態が定義されています。
WaitingForOrderState
OrderOpenState
OrderProcessedState
OrderCompletedState
また、この注文システムには、注文の現在の状態に応じて発生できるイベントを指定するルールがあります。たとえば、未処理の注文については、更新、処理、キャンセル、発送を行うことができます。しかし、処理された注文については、更新と発送はできてもキャンセルはできません。イベントの発生に伴って、ステート マシン ワークフローは、注文を新しい状態に移行させることもできます。たとえば、未処理の注文があり、OrderShipped イベントが発生した場合は、ステート マシン ワークフローは、その注文を完了状態に移行させます。
サンプルをビルドするには
このトピックの [サンプルのダウンロード] をクリックしてサンプルをダウンロードします。
ローカル コンピュータのハード ディスクにサンプル プロジェクトがダウンロードされます。
[スタート] ボタンをクリックし、[すべてのプログラム] をポイントします。次に、[Microsoft Windows SDK] をポイントし、[CMD シェル] をクリックします****。
サンプルのソース ディレクトリに移動します。
コマンド プロンプトで、「MSBUILD <ソリューション ファイル名>」と入力します。
サンプルを実行するには
SDK コマンド プロンプト ウィンドウで、OrderApplication\bin\debug フォルダ (このサンプルの VB バージョンでは OrderApplication\bin フォルダ) にある .exe ファイルを実行します (このサンプルでは、メイン フォルダの下にあります)。
[OrderId] フィールドに値を入力し、[Order Created] をクリックして、新しいワークフロー インスタンスを作成し、OrderCreated イベントを発生させます。
複数の注文ステート マシン ワークフローのインスタンスを作成する場合は、この手順を繰り返します。
注文を作成した後、各レコードの [Order State] 値が WaitingForOrderState から OrderOpenState に直ちに変わったことを確認してください。
レコードを 1 つ選択し、[Order Updated] および [Order Processed] のボタンだけが有効であることを確認してください。
[Order Processed] をクリックし、ワークフローに対して OrderProcessed イベントを発生させます。
数秒後、[Order State] が OrderProcessedState に変わり、レコードを選択したときには [Order Updated]、[Order Canceled]、[Order Shipped] ボタンのみが有効になっていることを確認します。
関連項目
その他の技術情報
Tutorial: Create a State Machine Workflow
State Machine Workflows
Windows Workflow Foundation のサンプル
Copyright © 2007 by Microsoft Corporation.All rights reserved.