次の方法で共有


注文処理ステート マシンのサンプル

Download sample

注文処理ステート マシンのサンプルは、ステート マシン ワークフローを使用した注文処理ソリューションを実装するアプリケーションです。

この種のアプリケーションでは、1 つの注文は完了までにいくつかの状態を移行します。このサンプルでは、4 つの状態が定義されています。

  • WaitingForOrderState

  • OrderOpenState

  • OrderProcessedState

  • OrderCompletedState

また、この注文システムには、注文の現在の状態に応じて発生できるイベントを指定するルールがあります。たとえば、未処理の注文については、更新、処理、キャンセル、発送を行うことができます。しかし、処理された注文については、更新と発送はできてもキャンセルはできません。イベントの発生に伴って、ステート マシン ワークフローは、注文を新しい状態に移行させることもできます。たとえば、未処理の注文があり、OrderShipped イベントが発生した場合は、ステート マシン ワークフローは、その注文を完了状態に移行させます。

サンプルをビルドするには

  1. このトピックの [サンプルのダウンロード] をクリックしてサンプルをダウンロードします。

    ローカル コンピュータのハード ディスクにサンプル プロジェクトがダウンロードされます。

  2. [スタート] ボタンをクリックし、[すべてのプログラム] をポイントします。次に、[Microsoft Windows SDK] をポイントし、[CMD シェル] をクリックします****。

  3. サンプルのソース ディレクトリに移動します。

  4. コマンド プロンプトで、「MSBUILD <ソリューション ファイル名>」と入力します。

サンプルを実行するには

  1. SDK コマンド プロンプト ウィンドウで、OrderApplication\bin\debug フォルダ (このサンプルの VB バージョンでは OrderApplication\bin フォルダ) にある .exe ファイルを実行します (このサンプルでは、メイン フォルダの下にあります)。

  2. [OrderId] フィールドに値を入力し、[Order Created] をクリックして、新しいワークフロー インスタンスを作成し、OrderCreated イベントを発生させます。

    複数の注文ステート マシン ワークフローのインスタンスを作成する場合は、この手順を繰り返します。

  3. 注文を作成した後、各レコードの [Order State] 値が WaitingForOrderState から OrderOpenState に直ちに変わったことを確認してください。

  4. レコードを 1 つ選択し、[Order Updated] および [Order Processed] のボタンだけが有効であることを確認してください。

  5. [Order Processed] をクリックし、ワークフローに対して OrderProcessed イベントを発生させます。

  6. 数秒後、[Order State] が OrderProcessedState に変わり、レコードを選択したときには [Order Updated][Order Canceled][Order Shipped] ボタンのみが有効になっていることを確認します。

関連項目

その他の技術情報

Tutorial: Create a State Machine Workflow
State Machine Workflows
Windows Workflow Foundation のサンプル

Footer image

Copyright © 2007 by Microsoft Corporation.All rights reserved.