【IT168技术文档】
EventHandlingScopeActivity活动包含一个主线子活动和一组事件处理活动 (EventHandlersActivity),它的主线子活动中只能包含一个子活动。它会执行其主子活动比如SequenceActivity。同时,可能会执行每个EventDrivenActivity,也可能不执行它们,这取决于在SequenceActivity 活动执行时是否发生了它们的事件,当主线活动执行完了整个EventHandlingScopeActivity活动也就结束了。
下面以例子来说明该活动的使用:
定义服务接口: [ExternalDataExchange] public interface IScopeDemo { void Started(); event EventHandler<ExternalDataEventArgs> EventOne; event EventHandler<ExternalDataEventArgs> EventTwo; event EventHandler<ExternalDataEventArgs> EventStop; }
实现服务接口: class ScopeDemoService:IScopeDemo { private Guid instanceId; public void Started() { instanceId = WorkflowEnvironment.WorkflowInstanceId; } public event EventHandler<ExternalDataEventArgs> EventOne; public event EventHandler<ExternalDataEventArgs> EventTwo; public event EventHandler<ExternalDataEventArgs> EventStop; public void OnEventOne() { if (EventOne != null) { EventOne(null, new ExternalDataEventArgs(instanceId)); } } public void OnEventTwo() { if (EventTwo != null) { EventTwo(null, new ExternalDataEventArgs(instanceId)); } } public void OnEventStop() { if (EventStop != null) { EventStop(null, new ExternalDataEventArgs(instanceId)); } } }