在工作流中处理未处理的异常后重试周期

时间:2012-03-29 14:40:13

标签: workflow workflow-foundation-4 workflowservice

目前在我们的工作流应用程序中,如果遇到未处理的异常,它将从最近持久的状态重新加载工作流并再次尝试。有没有办法配置它的工作原理?例如,如果服务停机,工作流将每秒重新加载并尝试再次运行,当有多个工作流时,所有执行相同操作的操作都会导致每分钟数千个异常。

我认为在workflowIdle上使用timeToPersist和timeToUnload属性可能与此有关。目前我们将此设置为:

如果我将timeToUnload设置为1分钟意味着工作流程每分钟只能重试一次?

1 个答案:

答案 0 :(得分:0)

TimeToPersist和TimeToUnload不会在这里发挥作用 - 这些值决定了工作流在被保持/卸载之前必须闲置多长时间。

您可以使用WorkflowApplication.OnUnhandledException创建一个包含所有异常处理程序(假设您正在使用此类创建工作流)。

http://msdn.microsoft.com/en-us/library/system.activities.workflowapplication.onunhandledexception.aspx