3

をスローするよりも優雅にワークフローを終了する方法はありますInvalidWorkflowExceptionか? 操作が失敗した場合に短絡する必要がある (SQL データベースとやり取りする) アクティビティを作成しています。

複数のステップ/アクティビティに分割して連鎖できることはわかっていますが、アクティビティ内から実行の状態を設定できますか?

みたいなthis.currentContext.SetState(Cancelled)

4

3 に答える 3

2

ワークフローのレイアウトにかかっていると思います。これが例外的なケースではない場合は、先に進んでワークフローで処理してください。プロパティを設定して、そのタスクを終了することができます。次のタスクは、すべての処理を停止するか、後続のステップに進むかを決定する決定タスクにすることができます。

例外的な場合は、例外をスローして、すべての補正ロジックに処理を任せる必要があります。

于 2011-02-03T20:19:12.567 に答える
2

私は Windows ワークフローを使用するのに比較的慣れていないので正直わかりませんが、を使用してNativeActivityを見てはNativeActivityContext.CancelChildrenどうですか?

MSDN のこの記事: Modeling Cancellation Behavior in Workflowも参照してください。

于 2011-02-03T20:05:24.020 に答える
1

他の番組と同じ状況だと思います。アクティビティでエラーが発生した場合は何らかの例外をスローし、try/catch アクティビティを使用してそれを処理し、WF を正常に終了します。

于 2011-02-03T20:07:27.433 に答える