偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

ASP.NET緩存頁面

開發(fā) 后端
本文介紹ASP.NET緩存頁面,包括緩存頁面片段惟一合法的地方是web服務(wù)器。這是因為片段緩存在ASP.NET中是新的功能,所以瀏覽器和代理服務(wù)器不支持。

很早就想寫多點(diǎn)關(guān)于ASP.NET緩存頁面的東西,一來是為了自己可以更方面的查詢,二來當(dāng)然了更方面大家拉。哈,閑話少說,今天剛好有空就拼湊點(diǎn)出來

緩存頁面

使用OutputCache指令

  1. <%@OutputCacheDuration="3600" 
  2. Location="Any" 
  3. VaryByCustom="browser" 
  4. VaryByParam="RequestID"%> 

其中Duration和VaryByParam特性是必須的。

VaryByParam允許我們緩存頁面的不同版本。在上面的例子中,VaryByParam設(shè)為了RequestID,所以ASP.NET使用RequestID參數(shù)的不同值,這些值或者是在HTTP GET的查詢字符串中傳入,或者是在HTTP POST的參數(shù)中傳入。可以通過檢查RequestID參數(shù)的值讓應(yīng)用程序區(qū)分不同的用戶;通過在頁面的OutputCache指令中放置VaryByParam="RequestID",可以讓ASP.NET為每個用戶緩存頁面的不同版本。
如果不想根據(jù)參數(shù)的值緩存頁面的不問版本,那么只要把VaryByParam設(shè)為none。
也可以要求ASP.NET為每個可能的參數(shù)組合緩存頁面的一個版本。為此,可把VaryByParam設(shè)為*。

VaryByHeader和VaryByCustom特性與VaryByParam的相似之處在于,它們允許指定何時應(yīng)創(chuàng)建頁面新的緩存版本。
VaryByHeader允許我們根據(jù)由分號分隔的HTTP頭的列表末緩存頁面的不向版本。
VaryByCustom當(dāng)設(shè)為browser時,允許我們根據(jù)瀏覽器的名稱和主版本信息緩存不同版本。也可以把它設(shè)為一個自定義方法的名稱,從而實現(xiàn)我們自己的邏輯,控制緩存的版本。

片斷緩存

可以利用用戶控件將頁面分段,在ascx文件中寫入緩存的語句,而不在aspx文件中寫緩存語句,這樣ASP.NET就可以只緩存ascx片斷的輸出了。一般像頁眉或頁腳基本上都是一樣的,就不需要重新加載。但是如果其中有動態(tài)變化的數(shù)據(jù)就不能對其進(jìn)行緩存,因為一旦被緩存后程序就不會再創(chuàng)建它的實例來更新數(shù)據(jù)顯示,只有等到生存期過期才行,所以對于這種情況就不適于用頁面片斷緩存。
注意:
一、注意片段緩存不支持Location特性;緩存頁面片段惟一合法的地方是web服務(wù)器。這是因為片段緩存在ASP.NET中是新的功能,所以瀏覽器和代理服務(wù)器不支持。
二、片段緩存有另外一個在頁面緩存中沒有的特性——VaryByControl。VaryByControl特性允許指定一個由分號分隔的字符串列表,代表用戶控件內(nèi)使用的控件的名稱;ASP.NET將針對值的每個不同的組合生成用戶構(gòu)件的一個緩存版本。

數(shù)據(jù)緩存

低級API是Cache類,它位于ASP.NET中的System.web.Caching命名空間,可以用它緩存生成很耗費(fèi)資源的數(shù)據(jù)。Cache類的使用和Session與Application對象一樣簡單。每個應(yīng)用程序只有一個Cache對象——這意味著使用Cache對象存儲在緩存中的數(shù)據(jù)是應(yīng)用程序級別的數(shù)據(jù)。使事情更為簡單的是,Page類的Cache屬性使應(yīng)用程序的Cache對象實例能在代碼中使用。
通過Cache對象緩存的數(shù)據(jù)存儲在應(yīng)用程序的內(nèi)存中。這意味著該數(shù)據(jù)的生存期不會超過應(yīng)用程序的重啟(事實上,這和存儲在Application與Session對象中的數(shù)據(jù)一樣,除非使用StateService或SQL State會話模式存儲Session數(shù)據(jù))。
具體的使用和語法與Session和Application一樣。轉(zhuǎn)換回來的時候需要注意對其進(jìn)行相應(yīng)類型的強(qiáng)制類型轉(zhuǎn)換。

這不是在ASP.NET緩存中添加緩存項的惟一方式。Cache對象有兩個方法Insert()方法和Add()方法,它們靈活性更高。它們的用法近似,但稍有不同:
Insert()方法用于覆蓋ASP.NET緩存中現(xiàn)有的緩存項。
Add()方法只用于在ASP.NET緩存中添加新的緩存項(如果用它覆蓋現(xiàn)有的緩存項,則會失敗)。
每個方法都有7個參數(shù),而且兩個方法的參數(shù)相同。
在緩存某一項時,可以指定它的相關(guān)性,告訴ASP.NET緩存頁面在緩存中一直保留到某個事件發(fā)生時為止。

【編輯推薦】

  1. 簡單介紹ASP應(yīng)用程序
  2. ASP.NET的IScriptControl
  3. 詳解ASP.NET身份驗證服務(wù)
  4. 概述ASP.NET安全
  5. ASP.NET ISAPI
責(zé)任編輯:佚名 來源: 網(wǎng)易科技
相關(guān)推薦

2009-07-31 10:33:54

ASP.NET頁面輸出

2009-07-29 14:35:34

頁面輸出緩存ASP.NET

2009-10-10 10:44:15

ASP.NET頁面緩存

2009-07-23 14:17:41

2009-07-29 17:26:39

ASP.NET頁面

2009-07-29 10:35:51

ASP.NET緩存

2009-08-04 15:22:33

ASP.NET緩存機(jī)制

2009-08-03 13:38:18

ASP.NET編程模型

2009-07-21 15:40:59

Asp.Net動態(tài)頁面

2009-07-23 14:21:55

ASP.NET頁面

2009-07-28 16:40:11

ASP.NET異步頁面

2009-07-27 15:25:40

aspx頁面ASP.NET

2009-07-23 10:52:38

2009-08-05 18:22:55

2009-07-29 15:34:13

2009-08-03 18:35:51

ASP.NET數(shù)據(jù)緩存

2009-08-17 16:59:36

ASP.NET緩存機(jī)制

2009-05-11 13:48:00

ASP.NET 2.0緩存效率

2009-08-03 18:47:12

ASP.NET數(shù)據(jù)緩存

2009-08-05 14:01:50

ASP.NET配置錯誤
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號