.net 4.0 工作流4未处理的异常恢复

.net 4.0 工作流4未处理的异常恢复,.net-4.0,exception-handling,workflow-foundation-4,.net 4.0,Exception Handling,Workflow Foundation 4,有没有一种方法可以从不涉及取消、终止或中止工作流的未处理异常中恢复 我想做的是重新启动工作流,或者如果可能的话,简单地记录异常。我的工作流长期运行并托管在workflow应用程序中,该应用程序位于Windows服务中 到目前为止,如果遇到未处理的异常,服务将处于“已启动”状态,但我的工作流处于死水状态,我希望可能会“启动”工作流,使其重新启动,即使它必须完全重新启动其序列 在这种情况下是否需要补偿?如果使用工作流持久性并中止,工作流将能够从存储中上次保存的状态重新启动。在工作流的战略位置添加持久

有没有一种方法可以从不涉及取消、终止或中止工作流的未处理异常中恢复

我想做的是重新启动工作流,或者如果可能的话,简单地记录异常。我的工作流长期运行并托管在workflow应用程序中,该应用程序位于Windows服务中

到目前为止,如果遇到未处理的异常,服务将处于“已启动”状态,但我的工作流处于死水状态,我希望可能会“启动”工作流,使其重新启动,即使它必须完全重新启动其序列


在这种情况下是否需要补偿?

如果使用工作流持久性并中止,工作流将能够从存储中上次保存的状态重新启动。在工作流的战略位置添加持久化活动将确保过去保存的状态是重新启动的关键点


请注意,将WorkflowApplication作为主机时,您必须自己重新加载它。最好的方法是向工作流中止时触发的中止属性添加回调。在这里,您可以创建一个新的workflow应用程序,并加载相同的工作流实例并恢复它。

如果使用工作流持久化并中止,工作流将能够从存储中上次保存的状态重新启动。在工作流的战略位置添加持久化活动将确保过去保存的状态是重新启动的关键点


请注意,将WorkflowApplication作为主机时,您必须自己重新加载它。最好的方法是向工作流中止时触发的中止属性添加回调。在这里,您可以创建一个新的workflow应用程序,加载同一个工作流实例并恢复它。

这正是我要找的功能,非常感谢您的精彩回答Maurice:)这正是我要找的功能,非常感谢您的精彩回答Maurice:)