首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> ASP.NET 基礎

ASP.NET 頁面輸出快取 (OutputCache) 完整設定指南

     編輯:ASP.NET 基礎

基本指令

<%@ OutputCache Duration="60" VaryByParam="none" %>
  • Duration:快取秒數。
  • VaryByParam:依查詢字串/表單參數建立不同快取版本,none 表示單一版本。

進階屬性

屬性說明
VaryByControl依指定控件值變化快取 (如 VaryByControl="DropDownList1")
VaryByCustom自訂快取變異邏輯 (需覆寫 GetVaryByCustomString)
CacheProfile引用 Web.config 定義的快取設定檔
Location快取位置 (Any/Client/Downstream/Server/None)
NoStoretrue 時不儲存任何快取
SqlDependencySQL 快取相依性

Web.config 快取設定檔

<system.web>
  <caching>
    <outputCacheSettings>
      <outputCacheProfiles>
        <add name="CacheProfile1" duration="60" varyByParam="none" />
      </outputCacheProfiles>
    </outputCacheSettings>
  </caching>
</system.web>

頁面引用:<%@ OutputCache CacheProfile="CacheProfile1" %>

程式碼控制快取

Response.Cache.SetExpires(DateTime.Now.AddMinutes(5));
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.Cache.VaryByParams["id"] = true;

適用情境

  • 資料更新頻率低、計算成本高的報表頁面。
  • 靜態內容較多的首頁、產品目錄頁。

注意事項

  • 快取會略過 Page_Load 等生命週期事件,需注意動態資料更新。
  • 避免快取含使用者專屬資料的頁面 (除非使用 VaryByCustom 區分使用者)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved