佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > ASP.NET OutputCache詳解

ASP.NET OutputCache詳解

熱門標(biāo)簽:國美全國運營中心 電商新玩法 科大訊飛語音識別系統(tǒng) 百度AI接口 網(wǎng)站排名優(yōu)化 人工智能 客戶服務(wù) 電銷業(yè)務(wù)

當(dāng)用戶訪問頁面時,整個頁面將會被服務(wù)器保存在內(nèi)存中,這樣就對頁面進行了緩存。當(dāng)用戶再次訪問該頁,頁面不會再次執(zhí)行數(shù)據(jù)操作,頁面首先會檢查服務(wù)器中是否存在緩存,如果緩存存在,則直接從緩存中獲取頁面信息,如果頁面不存在,則創(chuàng)建緩存。

頁面輸出緩存適用于那些數(shù)據(jù)量較多,而不會進行過多的事件操作的頁面,如果一個頁面需要執(zhí)行大量的事件更新,以及數(shù)據(jù)更新,則并不能使用頁面輸出緩存。使用@OutputCatch指令能夠聲明頁面輸出緩存,示例代碼如下所示。

復(fù)制代碼 代碼如下:

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

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

CacheProfile:獲取或設(shè)置OutputCacheProfile名稱。

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

VaryByHeader:獲取或設(shè)置用于改變緩存項的一組都好分隔的HTTP標(biāo)頭名稱。

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

VaryByControl:獲取或設(shè)置一簇分好分隔的控件標(biāo)識符,這些標(biāo)識符包含在當(dāng)前頁或用戶控件內(nèi),用于改變當(dāng)前的緩存項。

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

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

Enabled:獲取或設(shè)置一個值,該值指示是否對當(dāng)前內(nèi)容啟用了輸出緩存。

VaryByParam:獲取查詢字符串或窗體POST參數(shù)的列表。

通過設(shè)置相應(yīng)的屬性,可以為頁面設(shè)置相應(yīng)的緩存,當(dāng)需要為Default.aspx設(shè)置緩存項時,可以使用VaryByParam屬性進行設(shè)置,示例代碼如下所示。

復(fù)制代碼 代碼如下:

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

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

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

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

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

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

您可能感興趣的文章:
  • asp.net(C#)遍歷memcached緩存對象
  • Asp.Net Cache緩存使用代碼
  • .net/c# memcached緩存獲取所有緩存鍵的方法步驟
  • asp.net中Session緩存與Cache緩存的區(qū)別分析
  • Asp.Net中Cache操作類實例詳解
  • ASP.NET中Application和Cache的區(qū)別分析
  • .net清空所有Cache的實現(xiàn)代碼
  • ASP.NET Cache的一些總結(jié)分享
  • asp.net 使用駐留在頁面中的Cache緩存常用可定時更新的數(shù)據(jù)
  • .net如何使用Cache框架給程序添加Cache

標(biāo)簽:攀枝花 拉薩 咸寧 廈門 棗莊 南平 益陽 POS機

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET OutputCache詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    崇文区| 宜宾市| 大新县| 晋城| 迭部县| 永德县| 宜宾县| 沙洋县| 盱眙县| 澜沧| 安乡县| 淮阳县| 化州市| 乃东县| 巴林右旗| 高雄市| 濮阳市| 阿坝| 都江堰市| 长治市| 赞皇县| 和平县| 临潭县| 大英县| 黔西| 临夏县| 阳泉市| 右玉县| 武山县| 朝阳县| 荆州市| 长乐市| 正阳县| 高雄市| 临颍县| 利津县| 武安市| 常州市| 凯里市| 乐亭县| 南汇区|