An ActionFilter can be created in two ways:
- Implement the IActionFilter interface
- Extend the ActionFilterAttribute abstract class
IActionFilter contains two methods, that the custom Action Filter needs to implement:
OnActionExecuting(ActionExecutingContext ctx) - before action is executed
OnActionExecuted(ActionExecutedContext ctx) - after action is executed
ActionFilterAttribute abtract class has the below methods which can be overriden as required:
OnActionExecuting(ActionExecutingContext ctx) - before action is executed
OnActionExecuted(ActionExecutedContext ctx) - after action is executed
OnResultExecuting(ResultExecutingContext ctx) - before the ActionResult instance is invoked
OnResultExecuted(ResultExecutedContext ctx) - after the ActionResult instance is invoked