1

特定の種類のワークフロー (WF 3.5) を実行するための UI を含むキュー メカニズムを実装しました。ユーザーがワークフローをキャンセル/終了できるようにしたかったのです。終了は同期である必要はありません。キャンセルが進行中であることを示し、後で状態を更新できるようにすれば十分です。

これまでのところ、ワークフロー インスタンスの関数Terminate()を使用してワークフローを強制終了することができました。これは完全に同期的にも機能しますが、ワークフローに終了に反応する機会を与えていないようです。私が試したことは:

  1. ワークフローのレベルでキャンセル ハンドラを作成しますが、これは実行されませんでした。
  2. ワークフローのレベルで、エラーの種類がWorkflowTerminatedExceptionのエラー ハンドラーを作成します。これも実行されませんでした。

基本的に、終了とは、ワークフローが現在何をしているかに関係なく、ワークフローを即座に終了することを意味するようです。する方法はありますか:

  • 他の方法で (Terminate() 関数を使用して) 終了を処理しますか? (もしかしたら私の設定ミスかもしれません)
  • キャンセル ハンドラまたは障害ハンドラが実行され、整理などの機会が与えられるように、ワークフローを外部でキャンセルします。
4

1 に答える 1

2

不思議なことに、今日、私はこれについて考えていました。

このリンクが役立つかもしれません:ビルドの停止 > ワークフローのキャンセル可能なアプローチについて説明しています。

于 2010-01-13T16:18:33.747 に答える