2010-01-13 79 views
1

我已經實現排隊機制包括UI用於運行特定類型的工作流程(WF 3.5),其中,我想包括一個可能性使用戶取消/終止該工作流。終止不必是同步的,只要顯示取消正在進行並讓他稍後刷新狀態即可。如何處理工作流程的終止?

到目前爲止,我已經成功地簡單地使用工作流實例的功能終止()殺的工作流程,這完美的作品,甚至同步,但它似乎不給工作流程的任何機會作出反應,以終止。我曾嘗試的是:

  1. 在工作流級別創建取消處理程序,但未執行。
  2. 在工作流程的級別中創建一個故障處理程序,與故障類型WorkflowTerminatedException的。這也沒有執行。

基本上看來,終止意味着無論目前在做什麼,終止都會立即殺死工作流程。是否有辦法:

  • 以任何其他方式處理終止(使用Terminate()函數)? (也許一些設置,我已經錯過了)
  • 外部取消工作流程以這樣一種方式,它的取消處理程序或故障處理程序被執行給它整理等的機會呢?

回答

2

奇怪的是,我在思考這個今天早些時候。

也許你會發現此鏈接有用:Stopping a build > Cancelling a workflow爲約一種可能的方法會談。

+0

謝謝!這比我預期的有點棘手,但文章似乎很有幫助;) – 2010-01-13 16:24:10