/// <summary> /// 追加活动管道 /// </summary> /// <typeparam name="TPassivePara"></typeparam> /// <typeparam name="TResult"></typeparam> /// <param name="pipe"></param> /// <param name="exeFunc"> /// 执行委托 /// 参数: /// 当前活动上下文信息 /// 结果: /// TrafficSignal <TResult > -(活动是否处理成功,业务结果) /// Green_Pass - 流体自动流入后续管道 /// Yellow_Wait - 管道流动暂停等待(仅当前处理业务),既不向后流动,也不触发Block。 /// Red_Block - 触发Block,业务流不再向后续管道传递。 /// </param> /// <param name="pipeCode"></param> /// <returns></returns> public static SimpleEffectActivity <TPassivePara, TResult> AppendEffectActivity <TPassivePara, TResult>( this IPipeAppender <TPassivePara> pipe, Func <TPassivePara, Task <TrafficSignal <TResult> > > exeFunc, string pipeCode = null) { var nextPipe = new SimpleEffectActivity <TPassivePara, TResult>(pipeCode, exeFunc); pipe.InterAppend(nextPipe); return(nextPipe); }
/// <summary> /// 追加活动管道 /// </summary> /// <typeparam name="TNextRes"></typeparam> /// <typeparam name="TOut"></typeparam> /// <param name="pipe"></param> /// <param name="exeFunc"> /// 执行委托 /// 结果: /// TrafficSignal <TResult > -(活动是否处理成功,业务结果) /// Green_Pass - 流体自动流入后续管道 /// Yellow_Wait - 管道流动暂停等待(仅当前处理业务),既不向后流动,也不触发Block。 /// Red_Block - 触发Block,业务流不再向后续管道传递。 /// </param> /// <param name="pipeCode"></param> /// <returns></returns> public static SimpleEffectActivity <TNextRes> AppendEffectActivity <TOut, TNextRes>( this IPipeAppender <TOut> pipe, Func <Task <TrafficSignal <TNextRes> > > exeFunc, string pipeCode = null) { var nextPipe = new SimpleEffectActivity <TNextRes>(pipeCode, exeFunc); pipe.InterAppend(nextPipe); return(nextPipe); }