1. 程式人生 > >asp.net OutputCache 詳解的代碼

asp.net OutputCache 詳解的代碼

字符 內容 用戶 整體 asp 需要 lint 查詢 server

下面的代碼內容是關於asp.net OutputCache 詳解的代碼。


<%@ OutputCache Duration="120" VaryByParam="none" %>

上述代碼使用@OutputCatch指令聲明了頁面緩存,該頁面將被緩存120秒。@OutputCatch指令包括10個屬性,通過這些屬性能夠分別為頁面的不同情況進行緩存設置,常用的屬性如下所示:qCacheProfile:獲取或設置OutputCacheProfile名稱。qDuration:獲取或設置緩存項需要保留在緩存中的時間。qVaryByHeader:獲取或設置用於改變緩存項的一組都好分隔的HTTP標頭名稱。qLocation:獲取或設置一個值,該值確定緩存項的位置,包括Any、Clint、Downstream、None、Server和ServerAndClient。默認值為Any。qVaryByControl:獲取或設置一簇分好分隔的控件標識符,這些標識符包含在當前頁或用戶控件內,用於改變當前的緩存項。qNoStore:獲取或設置一個值,該值確定是否設置了“HttpCache-Control:no-store”指令。qVaryByCustom:獲取輸出緩存用來改變緩存項的自定義字符串列表。qEnabled:獲取或設置一個值,該值指示是否對當前內容啟用了輸出緩存。qVaryByParam:獲取查詢字符串或窗體POST參數的列表。通過設置相應的屬性,可以為頁面設置相應的緩存,當需要為Default.aspx設置緩存項時,可以使用VaryByParam屬性進行設置,示例代碼如下所示。


<%@ OutputCache Duration="120" VaryByParam="none" %>

上述代碼使用了Duration屬性和VarByParam屬性設置了當前頁的緩存屬性。為一個頁面進行整體的緩存設置往往是沒有必要的,常常還會造成困擾,例如Default.aspx?id=1和Default.aspx?id=100在緩存時可能呈現的頁面是相同的,這往往不是開發人員所希望的。通過配置VarByParam屬性能夠指定緩存參數,示例代碼如下所示。

<%@ OutputCache Duration="120" VaryByParam="id" %>

上述代碼則通過參數id進行緩存,當id項不同時,ASP.NET所進行的頁面緩存也不盡相同。這樣保證了Default.aspx?id=1和Default.aspx?id=100在緩存時所顯示的頁面並不一致。VarByHeader和VarByCustom主要用於根據訪問頁面的客戶端對頁面的外觀或內容進行自定義。在ASP.NET中,一個頁面可能需要為PC用戶和MOBILE用戶呈現輸出,因此可以通過客戶端的版本不同來緩存不同的數據,示例代碼如下所示。


<%@ OutputCache Duration="120" VaryByParam="none" VaryByCustom="browser" %>

上述代碼則為每個瀏覽器單獨設置了緩存條目。

asp.net OutputCache 詳解的代碼