流浪のwolf

卷帝

导航

C# Webapi Filter 过滤器 - 生命周期钩子函数 - Action Filter 基础

ACTION Filter 

IAsyncACtionFilter 接口 ;

1.注入ActionFilter

     // 注册过滤器
            builder.Services.Configure<MvcOptions>(opt =>
            {
                opt.Filters.Add<MyExceptionFilter>();  // 注册ExceptionFilter
                opt.Filters.Add<MyActionFilter>();     // 注册ActionFilter
            });

2. 具体实现 ActionFilter 服务

using Microsoft.AspNetCore.Mvc.Filters;

namespace Filter
{
    /// <summary>
    /// 基本的方法的使用
    /// </summary>
    public class MyActionFilter : IAsyncActionFilter
    {
        public async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
        {
            // 多个ActionFilter执行的顺寻按照注入时的顺序来的
            Console.WriteLine("开始执行方法的代码");
            ActionExecutedContext result = await next();
            if (result.Exception != null)
            {
               Console.WriteLine("发生异常");
            }
            else
            {
                Console.WriteLine("执行成功");
            }
        }
    }
}

 

posted on 2023-10-28 12:11  流浪のwolf  阅读(74)  评论(0编辑  收藏  举报