本節(jié)主要講解過濾器
Q78. 介紹下ASP.NET MVC中的 Filters(過濾器) 和 Attributes(特性)?
Ans. ASP.NET MVC 提供了一種簡(jiǎn)單的方式在action執(zhí)行之前或之后注入一段代碼或邏輯,它就是ASP.NET MVC attributes,通過在Controller或者Action上使用Attributes來修飾即可。可以自定義過濾器或特性通過實(shí)現(xiàn)ASP.NET
MVC filter 接口或繼承并重載ASP.NET MVC filter attribute類。
通常,過濾器被用來執(zhí)行以下常見的功能點(diǎn):
Custom Authentication(自定義認(rèn)證)
Custom Authorization (User based or Role based)(自定義授權(quán)-基于用戶或角色)
Error handling or logging(異常處理或記錄日志)
User Activity Logging(用戶活動(dòng)日志)
Data Caching(數(shù)據(jù)緩存)
Data Compression(數(shù)據(jù)比較)
Q79. 介紹下ASP.NET MVC中幾種不同的Filters(過濾器) ?
Ans. 主要有以下五種類型Filters:
Authentication Filters(認(rèn)證過濾器)
該過濾器是從ASP.NET MVC5中引入的。IAuthenticationFilter
接口是用來創(chuàng)建自定義認(rèn)證過濾器。IAuthenticationFilter
定義如下:
public interface IAuthenticationFilter{ void OnAuthentication(AuthenticationContext filterContext); void OnAuthenticationChallenge(AuthenticationChallengeContext filterContext); }
通過實(shí)現(xiàn)IAuthenticationFilter
接口,即可實(shí)現(xiàn)自定義的認(rèn)證過濾特性。
網(wǎng)友評(píng)論