ASP.NET core MVC动作过滤器执行顺序

using Microsoft.AspNetCore.Mvc.Filters;
using System;
using System.Threading.Tasks;

namespace dotnet_core.Filter
{
    public class MyFilterattribute: ActionFilterattribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            Console.WriteLine("方法执行之前!");
        }
        public override void OnActionExecuted(ActionExecutedContext context)
        {
            Console.WriteLine("方法执行之后!");
            base.OnActionExecuted(context);
        }
        public override void OnResultExecuting(ResultExecutingContext context)
        {
            Console.WriteLine("返回结果之前!");
            base.OnResultExecuting(context);
        }

        public override Task OnActionExecutionAsync(ActionExecutingContext context,ActionExecutionDelegate next)
        {
            Console.WriteLine("在OnActionExecuting之前执行");
            return base.OnActionExecutionAsync(context,next);
        }
        public override Task OnResultExecutionAsync(ResultExecutingContext context,ResultExecutionDelegate next)
        {

            //return Task.Fromresult(0);
            Console.WriteLine("OnResultExecuting之前执行");
            return base.OnResultExecutionAsync(context,next);
        }
        public override void OnResultExecuted(ResultExecutedContext context)
        {
            Console.WriteLine("返回结果之后");
            base.OnResultExecuted(context);
        }
    }
}

 

分享图片

相关文章

本文将从上往下,循序渐进的介绍一系列相关.NET的概念,先从...
基于 .NET 的一个全新的、好用的 PHP SDK + Runtime: Pe...
.NET 异步工作原理介绍。
引子 .NET 6 开始初步引入 PGO。PGO 即 Profile Guided Opti...
前言 2021/4/8 .NET 6 Preview 3 发布,这个版本的改进大多来...
前言 开头防杠:.NET 的基础库、语言、运行时团队从来都是相...