What are the filters:
Sometimes we would like to perform certain action before or after a particular operation, or some times we need a pre or post action behaviors from action, for achieving this functionality ASP.NET MVC provides a feature called Filters.
Types of filters:
ASP.NET MVC supports following types of filters:
Authorization Filters:
It is used to implement authorization and authentication for action filters
Result Filters:
Result filters contains logic that gets executed before or after a view result gets executed. E.g. if you want to change view before its get render to browser.
Exception Filters:
Exception filters are used to handle error, caused by either controller action or controller action results, we can also use it for logging the exceptions.
Let's start with Action Filter in ASP.NET MVC:
Action Filters can be applied to either controller action or controller itself, with the help of action filter we can change the way, the action or controller gets executed.
MVC provides following action filters:
Sometimes we would like to perform certain action before or after a particular operation, or some times we need a pre or post action behaviors from action, for achieving this functionality ASP.NET MVC provides a feature called Filters.
Types of filters:
ASP.NET MVC supports following types of filters:
- Action Filters
- Authorization Filters
- Result Filters
- Exception Filters
- Action Filters:
Authorization Filters:
It is used to implement authorization and authentication for action filters
Result Filters:
Result filters contains logic that gets executed before or after a view result gets executed. E.g. if you want to change view before its get render to browser.
Exception Filters:
Exception filters are used to handle error, caused by either controller action or controller action results, we can also use it for logging the exceptions.
Let's start with Action Filter in ASP.NET MVC:
Action Filters can be applied to either controller action or controller itself, with the help of action filter we can change the way, the action or controller gets executed.
MVC provides following action filters:
- Output Cache:
This filter caches the output of action for certain duration. E.g. below code snippet, we are decorating login action with output cache keyword, that will cache the output of login action for 20 seconds( we have given 20 seconds duration). - Handle Error:
It handles the error caused by action or controller, if any exception occurs it redirects the action to custom error page. e.g: here in the below code snippet handle error attribute is decorated to login action method, it will redirect to a view called "error.cshtml" when any exception will occur by this action method. - Authorize:
It is used for filtering the authorized user to access the resource. E.g. in below code snippet we have decorated an action method with Authorize attribute. - If we will try to access this action then it will give following error: