过滤器允许我们在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)