91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET如何緩存頁面

發布時間:2021-11-22 14:10:38 來源:億速云 閱讀:108 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關ASP.NET如何緩存頁面的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

緩存頁面

使用OutputCache指令

<%@OutputCacheDuration="3600" Location="Any" VaryByCustom="browser" VaryByParam="RequestID"%>

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

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

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

片斷緩存

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

數據緩存

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

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

感謝各位的閱讀!關于“ASP.NET如何緩存頁面”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳城县| 邳州市| 石阡县| 略阳县| 酒泉市| 克什克腾旗| 闵行区| 车险| 黄陵县| 吉林省| 洛隆县| 浦北县| 台南县| 项城市| 南投县| 海伦市| 四会市| 大埔区| 高安市| 鹿邑县| 潞西市| 民乐县| 罗源县| 荆州市| 伊川县| 乐陵市| 武鸣县| 龙口市| 漳平市| 昔阳县| 屯门区| 石渠县| 深圳市| 教育| 柞水县| 开平市| 龙岩市| 大港区| 嘉禾县| 侯马市| 武鸣县|