網(wǎng)站首頁 編程語言 正文
緩存過濾器用來輸出頁面緩存,其用法如下圖所示:
注意:
Duration:表示緩存多少秒;VaryByParam:表示緩存是否隨地址參數(shù)而改變。OutputCache除了可以定義在Action方法上面以外,還可以定義在控制器上面。
演示示例:
新建一個MVC應(yīng)用程序,添加一個名為Cache的控制器,Cache控制器的Index方法里面將當前時間輸出到頁面中,Cache控制器定義如下:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace _2_緩存過濾器.Controllers { public class CacheController : Controller { [OutputCache(Duration =5,VaryByParam ="none")] // GET: Cache public ActionResult Index(int? id) { ViewData["CurrentTime"] = "現(xiàn)在的時間是:" + DateTime.Now; return View(); } } }
2、Cache控制器的Index視圖定義如下:
@{ Layout = null; }Index @ViewData["CurrentTime"]
?3、程序運行結(jié)果
刷新頁面的時候,只有時間過了5秒以后,頁面上面顯示的時間才會刷新。
如果把VaryByParam的值改為id,那么在5秒的時間范圍內(nèi),頁面顯示的時間會隨著id值的改變而改變,即只要id的值改變一次,頁面顯示的時間就會改變。
在MVC程序中使用緩存過濾器的時候,由于控制器的代碼需要編譯后才能發(fā)布,在發(fā)布之后,如果要修改緩存的策略,就很麻煩,這時可以采用如下圖所示的方法,把緩存策略寫在配置文件里面,這樣即使在程序發(fā)布之后,我們也可以隨時調(diào)整緩存的策略。
配置文件修改如下:
程序代碼修改如下:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace _2_緩存過濾器.Controllers { public class CacheController : Controller { [OutputCache(CacheProfile = "cpfile")] // GET: Cache public ActionResult Index(int? id) { ViewData["CurrentTime"] = "現(xiàn)在的時間是:" + DateTime.Now; return View(); } } }
運行結(jié)果和上面的結(jié)果一樣。?
原文鏈接:https://www.cnblogs.com/dotnet261010/p/9005523.html
相關(guān)推薦
- 2022-12-08 Python中的pandas庫簡介及其使用教程_python
- 2022-06-26 Git配置.gitignore文件忽略被指定的文件上傳_相關(guān)技巧
- 2022-06-13 Python判斷dict中key是否存在的3種方法實例_python
- 2022-12-13 Dart多態(tài)控制反轉(zhuǎn)編碼規(guī)范實例詳解_Dart
- 2022-07-02 一個Python優(yōu)雅的數(shù)據(jù)分塊方法詳解_python
- 2022-11-17 Go語言學習教程之goroutine和通道的示例詳解_Golang
- 2022-03-20 ajax和fetch的區(qū)別點總結(jié)_AJAX相關(guān)
- 2023-07-25 springmvc全局異常處理
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支