public static Pipeline BuildPipelineWithAtributeBlocks(string action, int processor, RequestHandler request)
        {
            _lstPipelineBlocks.TryGetValue(action, out List <PipelineBuilderBlock> lst);
            if (lst == null)
            {
                return(null);
            }

            Pipeline pipeline = new Pipeline();

            foreach (PipelineBuilderBlock blck in lst)
            {
                PipelineBlock b = blck.CreatePipelineblock();
                foreach (PipelineBuilderBlockActions blckAction in blck._lstActions)
                {
                    //skip if there is no match on processor
                    if ((blckAction._processor > 0) && (processor != blckAction._processor))
                    {
                        continue;
                    }
                    PipelineElement.PipelineExecutionFunc func = blckAction.CreatePipelineFunc(b);
                    pipeline.AddStep(new PipelineElement(b._sName, blckAction._order, func));
                }
            }
            return(pipeline);
        }
Beispiel #2
0
 public void AddStep(string sName, int order, PipelineElement.PipelineExecutionFunc func)
 {
     _pipeLine.AddStep(new PipelineElement(sName, order, func));
 }