このトピックの内容は、Windows Workflow Foundation 4 に該当します。
このサンプルでは、CompensableActivity とその補正ハンドラーを使用してカスタム補正ロジックを定義する方法を示します。このサンプルでは、トラック レンタル会社のシナリオをモデル化しています。
サンプルの詳細
シミュレートする手順は次のとおりです。
ユーザーが日付を指定してトラック レンタルの見積もりを要求します。
トラック会社 3 社に連絡して、3 つの見積もりを入手します。
ユーザーがトラックの見積もりを 1 つ選択し、クレジット カードでの注文に進みます。
アプリケーションで、他の 2 つのトラックの見積もりが取り消されます。
利用予定日の 10 日前を過ぎてからの取り消しの場合にプレミアム アカウント以外には払い戻しされないサービス手数料が、アプリケーションで請求されます。
アプリケーションで、トラックのレンタル料金が請求されます。
アプリケーションは、利用予定日になるか顧客が予約を取り消すか、どちらか早い方まで待機します。
顧客が予約を取り消した場合、次のロジックに従って CompensationHandler カスタム補正ロジックが実行されます。
顧客がプレミアム アカウントでなく、かつ利用予定日の 10 日前を過ぎている場合、サービス手数料が請求されます。それ以外の場合は、サービス手数料が返金されます。
残りの補正可能なアクティビティ (トラックの注文 + トラックの注文料金) については、既定の補正ロジックに従って、逆の順序で補正が実行されます。
サンプルを設定、ビルド、および実行するには
Visual Studio 2010 を使用して、CustomCompensation.sln ソリューション ファイルを開きます。このソリューションは \WF\Basic\Compensation\CustomCompensation ディレクトリにあります。
F6 キーを押してソリューションをビルドします。
Ctrl キーを押しながら F5 キーを押してアプリケーションを実行します。
![]() |
---|
サンプルは、既にコンピューターにインストールされている場合があります。続行する前に、次の (既定の) ディレクトリを確認してください。
<InstallDrive>:\WF_WCF_Samples
このディレクトリが存在しない場合は、「.NET Framework 4 向けの Windows Communication Foundation (WCF) および Windows Workflow Foundation (WF) のサンプル」にアクセスして、Windows Communication Foundation (WCF) および WF のサンプルをすべてダウンロードしてください。このサンプルは、次のディレクトリに格納されます。
<InstallDrive>:\WF_WCF_Samples\WF\Basic\Compensation\CustomCompensation
|