非同期操作テーブルを照会し、子ワークフローの状態をチェックするカスタムワークフローステップを作成できます。子ワークフローの状態を取得する
問合せ:
<?xml version='1.0' encoding='utf-8'?>
<fetch distinct='false' no-lock='false' mapping='logical' page='1' count='100'>
<entity name='asyncoperation'>
<attribute name='statuscode' />
<filter type='and'>
<filter type='and'>
<condition attribute='correlationid' operator='eq' value='{Correlation ID of workflow>' />
<condition attribute='name' operator='eq' value='NAME OF CHILD WORKFLOW' />
</filter>
</filter>
</entity>
</fetch>
それはサンプルクエリだし、名前と相関IDにより子と一致します。子ワークフローへの呼び出しが1つしかない場合は機能します。
ここでは、非同期のプロセスの状態値のリストを見つけることができます:https://msdn.microsoft.com/en-us/library/gg309288.aspx
そして、メイン・ワークフロー・ステップは次のようになります。
- コール子ワークフロー
- にいくつかの時間を待つ
- コールカスタム子ワークフローのステータスを確認するステップ
- 子ステータスがokの場合 - メインで実行する
- 障害を処理するロジックを追加しない場合