をスローするよりも優雅にワークフローを終了する方法はありますInvalidWorkflowException
か? 操作が失敗した場合に短絡する必要がある (SQL データベースとやり取りする) アクティビティを作成しています。
複数のステップ/アクティビティに分割して連鎖できることはわかっていますが、アクティビティ内から実行の状態を設定できますか?
みたいなthis.currentContext.SetState(Cancelled)
?
をスローするよりも優雅にワークフローを終了する方法はありますInvalidWorkflowException
か? 操作が失敗した場合に短絡する必要がある (SQL データベースとやり取りする) アクティビティを作成しています。
複数のステップ/アクティビティに分割して連鎖できることはわかっていますが、アクティビティ内から実行の状態を設定できますか?
みたいなthis.currentContext.SetState(Cancelled)
?
ワークフローのレイアウトにかかっていると思います。これが例外的なケースではない場合は、先に進んでワークフローで処理してください。プロパティを設定して、そのタスクを終了することができます。次のタスクは、すべての処理を停止するか、後続のステップに進むかを決定する決定タスクにすることができます。
例外的な場合は、例外をスローして、すべての補正ロジックに処理を任せる必要があります。
私は Windows ワークフローを使用するのに比較的慣れていないので正直わかりませんが、を使用してNativeActivity
を見てはNativeActivityContext.CancelChildren
どうですか?
MSDN のこの記事: Modeling Cancellation Behavior in Workflowも参照してください。
他の番組と同じ状況だと思います。アクティビティでエラーが発生した場合は何らかの例外をスローし、try/catch アクティビティを使用してそれを処理し、WF を正常に終了します。