1耸序、
Action 緩存
? ? ? IResourceFilter 不同環(huán)境都可以做緩存笆怠,只是效果不一樣
基于IResourceFilter完成了緩存,避免了控制器實(shí)例化和Action執(zhí)行,但是視圖重新執(zhí)行了(緩存了控制器和Action)
例子:
先實(shí)現(xiàn) IResourceFilter 顷窒,新建類 CustomCacheResourceFilterAttribute.cs
修改 FilterController.cs 常挚,添加新 Action? InfoCache 使用剛才的特性 CustomCacheResourceFilter
添加視圖
生成編譯 -> 瀏覽 /filter/Infocache
然后按F5刷新作谭, 后端時(shí)間是沒(méi)有變化,前端(view)時(shí)間被重新執(zhí)行了
2奄毡、視圖緩存( 瀏覽器緩存 )
怎么樣可以不執(zhí)行視圖折欠,或者直接重用視圖的結(jié)果,直接重用HTML
ResponseCache:在請(qǐng)求響應(yīng)式,添加了一個(gè)responseheader锐秦,來(lái)指導(dǎo)瀏覽器緩存結(jié)果
修改 FilterController.cs 咪奖,Duration 緩存時(shí)間
生成編譯 -> 瀏覽 /filter/Infocache 打開兩個(gè)頁(yè)面 看效果 (注意:這種不能按F5刷新,只能新頁(yè)面去測(cè)試)
自己可以調(diào)試去觀察有沒(méi)有進(jìn)后臺(tái)酱床,第二個(gè)頁(yè)面訪問(wèn)時(shí)是不會(huì)進(jìn)后臺(tái)的
3羊赵、中間件 緩存
修改 Startup.cs ,注冊(cè) ResponseCaching
修改 FilterController.cs
生成編譯 -> 瀏覽 /filter/Infocache? 用兩個(gè)不一樣的瀏覽器來(lái)看效果扇谣,這里我用谷歌和360測(cè)試
跨瀏覽器緩存了
下一章《.Net Core 3.x MVC Autofac 切入Action 》