網站首頁 編程語言 正文
緩存過濾器用來輸出頁面緩存,其用法如下圖所示:
注意:
Duration:表示緩存多少秒;VaryByParam:表示緩存是否隨地址參數而改變。OutputCache除了可以定義在Action方法上面以外,還可以定義在控制器上面。
演示示例:
新建一個MVC應用程序,添加一個名為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"] = "現在的時間是:" + DateTime.Now; return View(); } } }
2、Cache控制器的Index視圖定義如下:
@{ Layout = null; }Index @ViewData["CurrentTime"]
?3、程序運行結果
刷新頁面的時候,只有時間過了5秒以后,頁面上面顯示的時間才會刷新。
如果把VaryByParam的值改為id,那么在5秒的時間范圍內,頁面顯示的時間會隨著id值的改變而改變,即只要id的值改變一次,頁面顯示的時間就會改變。
在MVC程序中使用緩存過濾器的時候,由于控制器的代碼需要編譯后才能發布,在發布之后,如果要修改緩存的策略,就很麻煩,這時可以采用如下圖所示的方法,把緩存策略寫在配置文件里面,這樣即使在程序發布之后,我們也可以隨時調整緩存的策略。
配置文件修改如下:
程序代碼修改如下:
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"] = "現在的時間是:" + DateTime.Now; return View(); } } }
運行結果和上面的結果一樣。?
原文鏈接:https://www.cnblogs.com/dotnet261010/p/9005523.html
相關推薦
- 2022-10-05 C#?獲取文件夾里所有文件名的詳細代碼_C#教程
- 2022-05-24 ASP.NET?MVC使用異步TPL模式_實用技巧
- 2021-12-10 C語言光標信息CONSOLE_CURSOR_INFO類型詳解_C 語言
- 2022-12-11 C語言計算分段函數問題_C 語言
- 2022-02-09 C語言指針用法總結_C 語言
- 2024-03-01 微信小程序,uniapp觸底加載、自動請求接口合并數據
- 2022-11-26 利用Python讀取Excel表內容的詳細過程_python
- 2022-12-11 React?RenderProps模式超詳細講解_React
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支