如何:使用 WorkflowServiceHost 配置工作流未经处理的异常行为

WorkflowUnhandledExceptionBehavior 行为可用于指定 WorkflowServiceHost 承载的工作流中出现未经处理的异常时所采取的操作。 本主题演示如何在配置文件中配置此行为。

配置 WorkflowUnhandledExceptionBehavior

  1. <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 的详细信息,请参阅工作流服务主机扩展性

请参阅