2010-08-17 68 views
1

有沒有辦法從未處理的異常中恢復,而不涉及取消,終止或中止工作流?工作流4未處理異常恢復

我想要做的就是重新啓動工作流程,或者只要可能就簡單地記錄異常。我的工作流程長時間運行,並託管在Windows服務中的WorkflowApplication中。

截至目前,如果遇到未處理的異常,服務處於「已啓動」狀態,但我的工作流程已停止在水中,我希望可以「啓動」工作流程,即使它必須完全重啓序列。

在這種情況下,補償是否可取?

回答

4

如果您使用工作流持久性並中止,工作流將能夠從商店中最後保存的狀態重新啓動。在工作流中的戰略位置添加Persist活動將確保過去保存的狀態是重新啓動的神點。

請注意,以WorkflowApplication作爲主機,您必須自己重新加載它。最好的方法是將回調添加到在工作流程中止時觸發的Aborted屬性。在那裏創建一個新的WorkflowApplication並加載相同的工作流實例並恢復它。

+0

這正是我一直在尋找的功能,非常感謝傑出的回答Maurice :) – jlafay 2010-08-18 18:38:55