コード例 #1
0
		public void Handle(IExecutionPipelineContext context)
		{
			//在执行之前首先判断是否可以执行
			if(!this.CanHandle(context))
				return;

			//创建“Executing”事件参数
			var executingArgs = new ExecutionPipelineExecutingEventArgs(context);

			//激发“Executing”事件
			this.OnExecuting(executingArgs);

			if(executingArgs.Cancel)
				return;

			//执行过滤器的前半截
			var filters = ExecutionUtility.InvokeFiltersExecuting(_filters, filter => filter.OnExecuting(context));

			//执行当前处理请求
			this.OnExecute(context);

			//执行过滤器的后半截
			ExecutionUtility.InvokeFiltersExecuted(filters, filter => filter.OnExecuted(context));

			//激发“Executed”事件
			this.OnExecuted(new ExecutionPipelineExecutedEventArgs(context));
		}
コード例 #2
0
		protected virtual void OnExecuting(ExecutionPipelineExecutingEventArgs e)
		{
			var executing = this.Executing;

			if(executing != null)
				executing(this, e);
		}
コード例 #3
0
		protected virtual void OnHandlerExecuting(ExecutionPipelineExecutingEventArgs args)
		{
			var executing = this.HandlerExecuting;

			if(executing != null)
				executing(this, args);
		}