/// <summary> /// Called after processor is called. /// </summary> /// <param name="sender">The sender.</param> /// <param name="args">The <see cref="RuntimeProcessorCallEventArgs" /> instance containing the event data.</param> protected virtual void OnAfterPipelineProcessorCalled(object sender, RuntimeProcessorCallEventArgs args) { lock (this) { if (this.pipelineCalls == null) { this.pipelineCalls = new List <RuntimePipelineCall>(); } if (this.executingPipelines == null) { this.executingPipelines = new Stack <RuntimePipelineCall>(); } if (args.ProcessorIndex == 0) { RuntimePipelineCall pipelineCall = new RuntimePipelineCall(args.PipelineName, args.PipelineDomain, args.PipelineArgs); this.pipelineCalls.Add(pipelineCall); this.executingPipelines.Push(pipelineCall); } if (string.IsNullOrEmpty(args.ProcessorDefinition.Type) && string.IsNullOrEmpty(args.ProcessorDefinition.TypeReference)) { this.executingPipelines.Pop(); } else { this.executingPipelines.Peek().ProcessorCalls.Add(args.ProcessorDefinition); } } }
/// <summary> /// Called after processor is called. /// </summary> /// <param name="sender">The sender.</param> /// <param name="args">The <see cref="RuntimeProcessorCallEventArgs" /> instance containing the event data.</param> protected virtual void OnAfterPipelineProcessorCalled(object sender, RuntimeProcessorCallEventArgs args) { lock (this) { if (this.pipelineCalls == null) { this.pipelineCalls = new List<RuntimePipelineCall>(); } if (this.executingPipelines == null) { this.executingPipelines = new Stack<RuntimePipelineCall>(); } if (args.ProcessorIndex == 0) { RuntimePipelineCall pipelineCall = new RuntimePipelineCall(args.PipelineName, args.PipelineDomain, args.PipelineArgs); this.pipelineCalls.Add(pipelineCall); this.executingPipelines.Push(pipelineCall); } if (string.IsNullOrEmpty(args.ProcessorDefinition.Type) && string.IsNullOrEmpty(args.ProcessorDefinition.TypeReference)) { this.executingPipelines.Pop(); } else { this.executingPipelines.Peek().ProcessorCalls.Add(args.ProcessorDefinition); } } }