一、過濾器簡介
1.1、理解什么是過濾器
1、過濾器(Filters)就是向請(qǐng)求處理管道中注入額外的邏輯。提供了一個(gè)簡單而優(yōu)雅的方式來實(shí)現(xiàn)橫切關(guān)注點(diǎn)。
2、所謂的過濾器(Filters),MVC框架里面的過濾器完全不同于ASP.NET平臺(tái)里面的Request.Filters和Response.Filter對(duì)象,它們主要是實(shí)現(xiàn)請(qǐng)求和響應(yīng)流的傳輸。通常我們所說的過濾器是指MVC框架里面的過濾器。
3、過濾器可以注入一些代碼邏輯到請(qǐng)求處理管道中,是基于C#的Attribute的實(shí)現(xiàn)。當(dāng)負(fù)責(zé)調(diào)用Action的類ControllerActionInvoker在調(diào)用執(zhí)行Action的時(shí)候會(huì)檢查Action上面的Attribute并查看這些Attribute是否實(shí)現(xiàn)了指定的接口,以便進(jìn)行額外的代碼注入處理
1.2、理解為什么要使用過濾器
假設(shè)你做了一個(gè)小項(xiàng)目,其中某個(gè)功能是操作管理用戶信息模塊,有這樣一個(gè)需求,對(duì)用戶信息管理必須是已通過認(rèn)證的用戶才能操作,我們可以在每一個(gè)Action方法里面檢查認(rèn)證請(qǐng)求,如下所示:
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式