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);
 }
Пример #2
0
        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);
        }