今天就跟大家聊聊有關(guān)OutputCache在ASP.NET中的作用是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
在大城等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,營銷型網(wǎng)站建設(shè),外貿(mào)網(wǎng)站制作,大城網(wǎng)站建設(shè)費(fèi)用合理。當(dāng)用戶訪問頁面時(shí),整個(gè)頁面將會(huì)被服務(wù)器保存在內(nèi)存中,這樣就對(duì)頁面進(jìn)行了緩存。當(dāng)用戶再次訪問該頁,頁面不會(huì)再次執(zhí)行數(shù)據(jù)操作,頁面首先會(huì)檢查服務(wù)器中是否存在緩存,如果緩存存在,則直接從緩存中獲取頁面信息,如果頁面不存在,則創(chuàng)建緩存。
頁面輸出緩存適用于那些數(shù)據(jù)量較多,而不會(huì)進(jìn)行過多的事件操作的頁面,如果一個(gè)頁面需要執(zhí)行大量的事件更新,以及數(shù)據(jù)更新,則并不能使用頁面輸出緩存。使用@OutputCatch指令能夠聲明頁面輸出緩存,示例代碼如下所示。
復(fù)制代碼 代碼如下:
<%@ OutputCache Duration="120" VaryByParam="none" %>
上述代碼使用@OutputCatch指令聲明了頁面緩存,該頁面將被緩存120秒。@OutputCatch指令包括10個(gè)屬性,通過這些屬性能夠分別為頁面的不同情況進(jìn)行緩存設(shè)置,常用的屬性如下所示:
CacheProfile:獲取或設(shè)置OutputCacheProfile名稱。
Duration:獲取或設(shè)置緩存項(xiàng)需要保留在緩存中的時(shí)間。
VaryByHeader:獲取或設(shè)置用于改變緩存項(xiàng)的一組都好分隔的HTTP標(biāo)頭名稱。
Location:獲取或設(shè)置一個(gè)值,該值確定緩存項(xiàng)的位置,包括Any、Clint、Downstream、None、Server和ServerAndClient。默認(rèn)值為Any。
VaryByControl:獲取或設(shè)置一簇分好分隔的控件標(biāo)識(shí)符,這些標(biāo)識(shí)符包含在當(dāng)前頁或用戶控件內(nèi),用于改變當(dāng)前的緩存項(xiàng)。
NoStore:獲取或設(shè)置一個(gè)值,該值確定是否設(shè)置了“Http Cache-Control:no-store”指令。
VaryByCustom:獲取輸出緩存用來改變緩存項(xiàng)的自定義字符串列表。
Enabled:獲取或設(shè)置一個(gè)值,該值指示是否對(duì)當(dāng)前內(nèi)容啟用了輸出緩存。
VaryByParam:獲取查詢字符串或窗體POST參數(shù)的列表。
通過設(shè)置相應(yīng)的屬性,可以為頁面設(shè)置相應(yīng)的緩存,當(dāng)需要為Default.aspx設(shè)置緩存項(xiàng)時(shí),可以使用VaryByParam屬性進(jìn)行設(shè)置,示例代碼如下所示。
復(fù)制代碼 代碼如下:
<%@ OutputCache Duration="120" VaryByParam="none" %>
上述代碼使用了Duration屬性和VarByParam屬性設(shè)置了當(dāng)前頁的緩存屬性。為一個(gè)頁面進(jìn)行整體的緩存設(shè)置往往是沒有必要的,常常還會(huì)造成困擾,例如Default.aspx?id=1和Default.aspx?id=100在緩存時(shí)可能呈現(xiàn)的頁面是相同的,這往往不是開發(fā)人員所希望的。通過配置VarByParam屬性能夠指定緩存參數(shù),示例代碼如下所示。
復(fù)制代碼 代碼如下:
<%@ OutputCache Duration="120" VaryByParam="id" %>
上述代碼則通過參數(shù)id進(jìn)行緩存,當(dāng)id項(xiàng)不同時(shí),ASP.NET所進(jìn)行的頁面緩存也不盡相同。這樣保證了Default.aspx?id=1和Default.aspx?id=100在緩存時(shí)所顯示的頁面并不一致。VarByHeader和VarByCustom主要用于根據(jù)訪問頁面的客戶端對(duì)頁面的外觀或內(nèi)容進(jìn)行自定義。在ASP.NET中,一個(gè)頁面可能需要為PC用戶和MOBILE用戶呈現(xiàn)輸出,因此可以通過客戶端的版本不同來緩存不同的數(shù)據(jù),示例代碼如下所示。
復(fù)制代碼 代碼如下:
<%@ OutputCache Duration="120" VaryByParam="none" VaryByCustom="browser" %>
看完上述內(nèi)容,你們對(duì)OutputCache在ASP.NET中的作用是什么有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
本文名稱:OutputCache在ASP.NET中的作用是什么-創(chuàng)新互聯(lián)
文章出自:http://aaarwkj.com/article28/jccjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站建設(shè)、微信公眾號(hào)、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容