某頁或使用者控制項的可緩衝性指某頁能否在其響應生命週期內緩衝到某個裝置上。這些裝置包括髮出請求的用戶端(瀏覽器),響應請求的 Web 服務器,以及請求或響應流中任何具有緩衝功能的裝置(例如Proxy 伺服器)。
如果您在設計時知道某頁需要什麼樣的可緩衝性設定,您可以以聲明方式設定可緩衝性。該頁將為所有請求使用相同的可緩衝性設定。
以聲明方式設定頁的可緩衝性
在頁中包含 @ OutputCache 指令,並定義 Duration 和 VaryByParam 屬性。
在 @ OutputCache 指令中包含 Location 屬性,並將其值定義為 OutputCacheLocation 枚舉中的下列值之一:Any、Client、Downstream、Server、ServerAndClient 或 None。
下面的代碼示範如何將頁的可緩衝性設定為 60 秒:
<%@ OutputCache Duration="60" VaryByParam="None"%>
| 注意 |
預設設定為 Any。如果未定義 Location 屬性,則可以將頁輸出緩衝在與響應有關的所有具有緩衝功能的網路裝置上。其中包括請求用戶端、原伺服器、以及響應通過的任何Proxy 伺服器。 |
使用緩衝設定檔以聲明方式設定頁的可緩衝性
在應用程式的 Web.config 檔案中定義緩衝設定檔,在設定檔中包括 duration 和 varyByParam 設定。
下面的 <caching> 配置元素定義名為 Cache30Seconds 的緩衝設定檔,它將在伺服器上將頁緩衝 30 秒之久。
代碼
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="Cache30Seconds" duration="30"
varyByParam="none" />
</outputCacheProfiles>
</outputCacheSettings>
</caching>
2. 在使用設定檔的每個 ASP.NET 頁中包含 @ OutputCache 指令,並將 CacheProfile 屬性設定為 Web.config 檔案中定義的緩衝設定檔的名稱。
下面的代碼指定頁應當使用名為 Cache30Seconds 的緩衝設定檔:
<%@ OutputCache CacheProfile="Cache30Seconds" %>