GetWorkflowEvent
将当前工作流事件的名称推送到堆栈上。
<wf:Operation Name="GetWorkflowEvent" />
无。
包含当前工作流事件的字符串。
工作流实例在其执行过程中可能会经过若干状态。 例如,工作流实例可能会变为空闲状态,或可能被挂起。 工作流实例每次更改状态时都会向运行时跟踪基础结构发出一个工作流状态事件。 Windows Workflow Foundation BAM 侦听器支持枚举定义的 System.Workflow.Runtime.Tracking.TrackingWorkflowEvent
大多数事件,如下表所示。
活动事件 | 说明 |
---|---|
已更改 | 工作流实例上发生了工作流更改。 |
已完成 | 工作流实例已完成。 |
创建 | 已创建工作流实例。 |
异常 | 发生了未经处理的异常。 |
空闲 | 工作流实例处于空闲状态。 |
已加载 | 已将工作流实例加载到内存中。 |
持久化 | 已保留工作流实例。 |
Resumed | 先前挂起的工作流实例已继续运行。 |
Started | 工作流实例已启动。 |
Suspended | 工作流实例已挂起。 |
终止 | 工作流实例已终止。 |
已卸载 | 已从内存中卸载了工作流实例。 |
备注
不能在同一 OnEvent 元素中同时使用 GetWorkflowEvent
和 GetActivityEvent
。
下面的示例包含一个配置为在工作流中查找特定活动(“FoodAndDrinksPolicy”)的筛选器。 在该示例中,一个筛选器配置为在关闭的工作流中查找名称为“FoodAndDrinksPolicy”的活动。 这是通过将 返回 GetWorkflowEvent
的值与常量“Created”进行比较来完成的。
<ic:Filter>
<ic:Expression>
<wf:Operation Name="GetWorkflowEvent" />
<ic:Operation Name="Constant">
<ic:Argument>Created</ic:Argument>
</ic:Operation>
<ic:Operation Name="Equals" />
</ic:Expression>
</ic:Filter>
对于跟踪工作流的生存期和检测工作流的异常或其他问题,此操作非常有用。