32-过滤器

过滤器允许我们在Action执行之前和执行之后去执行一下业务代码。

下面我们创建一个过滤器

我们叫TestActionFilter 从IActionFilter中继承。

public class TestActionFilter : IActionFilter
{
    public void OnActionExecuted(ActionExecutedContext context)
    {
        //Action执行之后执行这里的代码
    }

    public void OnActionExecuting(ActionExecutingContext context)
    {
        //Action执行之前执行这里的代码
    }
}

过滤器的作用域

过滤器有三种不同的级别的过滤器

1 全局过滤器,在StartUp中注册

2 控制器过滤器 在控制器类上面使用标注

3 action过滤器

注册全局过滤器

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc(
        options => {
            options.Filters.Add(typeof(TestActionFilter));//添加了一个全局过滤i其
        }
    );
}Code language: JavaScript (javascript)

给Action注册过滤器

[TypeFilter(typeof(TestActionFilter))]
[Route("home/abc")]
public IActionResult About()
{
    ViewData["Message"] = "Your application description page.";

    return View();
}Code language: JavaScript (javascript)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注