MVC中Url的执行是按照Controller->Action->View页面,但是我们经常需要在函数执行所指定的Action之前或者action方法之后处理一些逻辑,为了处理这些逻辑,ASP.NET MVC允许你创建action过滤器Filter,我们都知道在Action上使用的每一个 [Attribute]大都是自定义的Filter。

mvc提供四种类型的Filter接口:IActionFilter,IAuthorizationFilter,IExceptionFilter,IResultFilter, 这四种Filter足以满足我们所要实现的功能,它还提供了几个现

成的可以使用的Filter:OutputCacheAttribute、 HandleErrorAttribute、AuthorizeAttribute。(AuthorizeAttribute 和 HandleErrorAttribute继承自FilterAttribute 类)

其中:

IActionFilter提供的两种方法: OnActionExecuting 在调用操作方法后调用。

IResultFilter提供的两种方法:OnResultExecuting 在执行由操作方法返回的操作结果后调用。

IAuthorizationFilter是一个用于身份验证的Filter。只提供了一个void OnAuthorization(AuthorizationContext filterContext)方法。

IExceptionFilter会在出现异常的时候调用,也是只提供一个void OnException(ExceptionContext filterContext)的方法;

而4个接口的方法执行顺序如下:IAuthorizationFilter -> IActionFilter - >IResultFilter ->IExceptionFilter

相关文章:

  • 2021-10-25
  • 2022-12-23
  • 2021-08-17
  • 2021-12-01
  • 2022-12-23
  • 2021-11-25
  • 2022-02-20
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-01-09
  • 2022-02-11
  • 2022-12-23
  • 2021-12-12
  • 2021-08-19
相关资源
相似解决方案