本節(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):

  1. Custom Authentication(自定義認(rèn)證)

  2. Custom Authorization (User based or Role based)(自定義授權(quán)-基于用戶或角色)

  3. Error handling or logging(異常處理或記錄日志)

  4. User Activity Logging(用戶活動(dòng)日志)

  5. Data Caching(數(shù)據(jù)緩存)

  6. 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)論