如何:使用 WorkflowServiceHost 配置工作流未经处理的异常行为
WorkflowUnhandledExceptionBehavior 行为可用于指定 WorkflowServiceHost 承载的工作流中出现未经处理的异常时所采取的操作。 本主题演示如何在配置文件中配置此行为。
配置 WorkflowUnhandledExceptionBehavior
在
<serviceBehaviors>
元素的<behavior>
元素中添加<workflowUnhandledException>
元素,使用action
属性指定发生未经处理的异常时要执行的操作,如下面的示例中所示。<behaviors> <serviceBehaviors> <behavior name=""> <workflowUnhandledException action="abandonAndSuspend"/> </behavior> </serviceBehaviors> </behaviors>
备注
上面的配置示例使用的是简化配置。 有关详细信息,请参阅简化配置。
可在代码中配置该行为,如下面的示例所示。
host.Description.Behaviors.Add(new WorkflowUnhandledExceptionBehavior { Action = WorkflowUnhandledExceptionAction.AbandonAndSuspend });
<workflowUnhandledException>
元素的action
属性可以设置为以下值之一:abandon 中止内存中的实例,而不影响保存的实例状态(即回滚到上一个保存点)。
abandonAndSuspend 中止内存中的实例并将保存的实例更新为挂起。
cancel 为实例调用取消处理程序,然后在内存中完成该实例,此操作也有可能将实例从实例存储区中移除。
terminate 在内存中完成实例并将其从实例存储区中移除。
有关 WorkflowUnhandledExceptionBehavior 的详细信息,请参阅工作流服务主机扩展性。