internal override void ProcessEvent(ActivityExecutionContext context) { StateMachineExecutionState state = StateMachineExecutionState.Get(StateMachineHelpers.GetRootState((StateActivity) context.Activity)); ExternalEventAction action = new ExternalEventAction(this.StateName, this.EventDrivenName); state.EnqueueAction(action); state.ProcessActions(context); }
internal override void ProcessEvent(ActivityExecutionContext context) { StateMachineExecutionState state = StateMachineExecutionState.Get(StateMachineHelpers.GetRootState((StateActivity)context.Activity)); ExternalEventAction action = new ExternalEventAction(this.StateName, this.EventDrivenName); state.EnqueueAction(action); state.ProcessActions(context); }
internal override void ProcessEvent(ActivityExecutionContext context) { StateActivity rootState = StateMachineHelpers.GetRootState((StateActivity)context.Activity); StateMachineExecutionState executionState = StateMachineExecutionState.Get(rootState); ExternalEventAction action = new ExternalEventAction(this.StateName, this.EventDrivenName); Debug.Assert(!executionState.HasEnqueuedActions); executionState.EnqueueAction(action); executionState.ProcessActions(context); }