使用 EventDrivenActivity 活动
EventDrivenActivity 活动包含一个活动序列,其执行由一个事件启动。 该事件由序列中的第一个子活动订阅,此活动必须派生自 IEventActivity 接口。 IEventActivity 接口由等待外部事件的活动实现,例如 HandleExternalEventActivity 和 DelayActivity。
在顺序工作流中,一个 EventDrivenActivity 活动中可以包含多个从 IEventActivity 派生的活动。
在状态机工作流中,可以将 EventDrivenActivity 活动添加为 StateActivity 活动的直接子集,或添加到工作流本身中。 但是,当在状态机工作流中使用 EventDrivenActivity 活动时,只能使用从 IEventActivity 派生的单个活动,并且此活动必须是该状态中的第一个活动。 这是因为,Windows Workflow Foundation 实现的状态机工作流模型一次只处理一个 EventDrivenActivity 活动。 例如,如果 EventDrivenActivity 活动中包含多个能够运行的 IEventActivity 活动,则会出现以下情况:某个 EventDrivenActivity 活动在等待可能永远不会执行的 IEventActivity 时被阻止。 这样,状态机将无法处理任何其他消息。
有关更多信息,请参见 Windows Workflow Foundation 类库参考中 System.Workflow.Activities 命名空间的 EventDrivenActivity 类和 IEventActivity 接口。
有关演示如何使用 EventDrivenActivity 活动的代码示例,请参见Listen Sample。
请参见
参考
EventDrivenActivity
IEventActivity
概念
使用 ListenActivity 活动
使用 EventHandlersActivity 活动
版权所有 (C) 2007 Microsoft Corporation。保留所有权利。