2011-01-06 10 views
2

私はWinFormsアプリケーションでWorkflowFoundation 4.0を使用しています。ユーザーがフォームを閉じると、ワークフローがバックグラウンドで実行されているため、プログラムは終了しません。ワークフローは、このように作成されWorkflow Foundation - 終了vs中止vsキャンセル

WorkflowApplication workflow = new WorkflowApplication(new myActivity()); 
workflow.Run(); 

私は私のFormClosingイベントでの「閉じる」したいと思います。どちらの方法を使うべきですか? Terminate,AbortまたはCancel

+0

は、あなたが '閉じる' それはどういう意味ですか。あなたはワークフローで何をしたいのですか? –

+0

フォームを完全に廃棄し、残っているスレッドを実行しないようにスレッドを中止したいのですが... – veljkoz

+0

フォームを閉じるときにワークフローを中止し、再度続行しないことを理解しています。もっと、私は正しい? –

答えて

6

ニーズ/ワークフローに応じて、[終了]または[キャンセル]のいずれかを選択します。アボートは、インスタンスストアを使用している場合は永続状態を残し、最後に保存した状態からワークフローを再開するように設計されています。

finallyブロックのようなクリーンアップを含め、これ以上アクティビティを実行しない場合は、terminateを使用してください。それ自身の後でワークフローをクリーンアップできるようにするには、「キャンセル」を使用します。ほとんどの場合、私はキャンセルを提案します。

+0

これはどこに文書化されていますか? –

関連する問題