国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET OutputCache詳解

2024-07-10 12:47:58
字體:
來源:轉載
供稿:網友

當用戶訪問頁面時,整個頁面將會被服務器保存在內存中,這樣就對頁面進行了緩存。當用戶再次訪問該頁,頁面不會再次執行數據操作,頁面首先會檢查服務器中是否存在緩存,如果緩存存在,則直接從緩存中獲取頁面信息,如果頁面不存在,則創建緩存。

頁面輸出緩存適用于那些數據量較多,而不會進行過多的事件操作的頁面,如果一個頁面需要執行大量的事件更新,以及數據更新,則并不能使用頁面輸出緩存。使用@OutputCatch指令能夠聲明頁面輸出緩存,示例代碼如下所示。
代碼如下:
<%@ OutputCache Duration="120" VaryByParam="none" %>

上述代碼使用@OutputCatch指令聲明了頁面緩存,該頁面將被緩存120秒。@OutputCatch指令包括10個屬性,通過這些屬性能夠分別為頁面的不同情況進行緩存設置,常用的屬性如下所示:

CacheProfile:獲取或設置OutputCacheProfile名稱。

Duration:獲取或設置緩存項需要保留在緩存中的時間。

VaryByHeader:獲取或設置用于改變緩存項的一組都好分隔的HTTP標頭名稱。

Location:獲取或設置一個值,該值確定緩存項的位置,包括Any、Clint、Downstream、None、Server和ServerAndClient。默認值為Any。

VaryByControl:獲取或設置一簇分好分隔的控件標識符,這些標識符包含在當前頁或用戶控件內,用于改變當前的緩存項。

NoStore:獲取或設置一個值,該值確定是否設置了“Http Cache-Control:no-store”指令。

VaryByCustom:獲取輸出緩存用來改變緩存項的自定義字符串列表。

Enabled:獲取或設置一個值,該值指示是否對當前內容啟用了輸出緩存。

VaryByParam:獲取查詢字符串或窗體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用戶呈現輸出,因此可以通過客戶端的版本不同來緩存不同的數據,示例代碼如下所示。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南宁市| 济阳县| 嵩明县| 泌阳县| 高唐县| 琼结县| 云浮市| 库伦旗| 深水埗区| 兴安盟| 驻马店市| 随州市| 宜宾县| 鹿邑县| 邮箱| 饶阳县| 三门县| 奇台县| 呼和浩特市| 肥东县| 资溪县| 大方县| 苏尼特左旗| 云龙县| 昭平县| 上思县| 黄大仙区| 兴宁市| 如皋市| 五原县| 当雄县| 许昌县| 电白县| 铁岭市| 武强县| 万安县| 班戈县| 普洱| 石狮市| 大厂| 新疆|