成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET頁面輸出緩存

開發 后端
本文介紹ASP.NET頁面輸出緩存,頁面輸出緩存 作為最簡單的緩存形式,輸出緩存只是在內存中保留為響應請求而發送的 HTML 的副本。

ASP.NET緩存,您應該在應用程序的每一層都實現緩存。向數據層、業務邏輯層、UI 或輸出層添加緩存支持。內存現在非常便宜 — 因此,通過以智能的方式在整個應用程序中實現緩存,可以獲得很大的性能提高。ASP.NET緩存可以掩蓋許多過失緩存是一種無需大量時間和分析就可以獲得“足夠良好的”性能的方法。

這里再次強調,內存現在非常便宜,因此,如果您能通過將輸出緩存 30 秒,而不是花上一整天甚至一周的時間嘗試優化代碼或數據庫就可以獲得所需的性能,您肯定會選擇緩存解決方案(假設可以接受 30 秒的舊數據)。緩存正是那些利用 20% 付出獲得 80% 回報的特性之一,因此,要提高性能,應該首先想到緩存。

不過,如果設計很糟糕,最終卻有可能帶來不良的后果,因此,您當然也應該盡量正確地設計應用程序。但如果您只是需要立即獲得足夠高的性能,緩存就是您的***選擇,您可以在以后有時間的時候再盡快重新設計應用程序。 頁面輸出緩存 作為最簡單的緩存形式,輸出緩存只是在內存中保留為響應請求而發送的 HTML 的副本。其后再有請求時將提供緩存的輸出,直到緩存到期,這樣,性能有可能得到很大的提高(取決于需要多少開銷來創建原始頁面輸出 - 發送緩存的輸出總是很快,并且比較穩定)。 實現 要實現頁面輸出緩存,只要將一條 OutputCache 指令添加到頁面即可。

< %@ OutputCache Duration="60" VaryByParam="*" %>如同其他頁面指令一樣,該指令應該出現在 ASPX 頁面的頂部,即在任何輸出之前。它支持五個屬性(或參數),其中兩個是必需的。 Duration 必需屬性。頁面應該被緩存的時間,以秒為單位。必須是正整數。 Location 指定應該對輸出進行緩存的位置。如果要指定該參數,則必須是下列選項之一:Any、Client、Downstream、None、Server 或 ServerAndClient. VaryByParam 必需屬性。Request 中變量的名稱,這些變量名應該產生單獨的緩存條目。"none" 表示沒有變動。"*" 可用于為每個不同的變量數組創建新的緩存條目。變量之間用 "; " 進行分隔。 VaryByHeader 基于指定的標頭中的變動改變緩存條目。

VaryByCustom 允許在 global.asax 中指定自定義變動(例如,"Browser")。 利用必需的 Duration 和 VaryByParam 選項的組合可以處理大多數情況。例如,如果您的產品目錄允許用戶基于 categoryID 和頁變量查看目錄頁,您可以用參數值為 "categoryID; page" 的 VaryByParam 將產品目錄緩存一段時間(如果產品不是隨時都在改變,一小時還是可以接受的,因此,持續時間是 3600 秒)。這將為每個種類的每個目錄頁創建單獨的緩存條目。每個條目從其***個請求算起將維持一個小時。 VaryByHeader 和 VaryByCustom 主要用于根據訪問頁面的客戶端對頁面的外觀或內容進行自定義。同一個 URL 可能需要同時為瀏覽器和移動電話客戶端呈現輸出,因此,需要針對不同的客戶端緩存不同的內容版本。

或者,頁面有可能已經針對 IE 進行了優化,但需要能針對 Netscape 或 Opera 完全降低優化(而不僅僅是破壞頁面)。后一個例子非常普遍,我們將提供一個說明如何實現此目標的示例: 示例:VaryByCustom 用于支持瀏覽器自定義 為了使每個瀏覽器都具有單獨的緩存條目,VaryByCustom 的值可以設置為 "browser".此功能已經內置在緩存模塊中,并且將針對每個瀏覽器名稱和主要版本插入單獨的頁面緩存版本。

< %@ OutputCache Duration="60" VaryByParam="None" VaryByCustom="browser" %>片段緩存,用戶控件輸出緩存 緩存整個頁面通常并不可行,因為頁面的某些部分是針對用戶定制的。不過,頁面的其他部分是整個應用程序共有的。這些部分最適合使用片段緩存和用戶控件進行緩存。菜單和其他布局元素,尤其是那些從數據源動態生成的元素,也應該用這種方法進行緩存。如果需要,可以將緩存的控件配置為基于對其控件(或其他屬性)的更改或由頁面輸出緩存支持的任何其他變動進行改變。使用同一組控件的幾百個頁面還可以共享那些控件的緩存條目,而不是為每個頁面保留單獨的緩存版本。 實現 片段緩存使用的語法與頁面輸出緩存一樣,但其應用于用戶控件(。ascx 文件)而不是 Web 窗體(。aspx 文件)。除了 Location 屬性,對于 OutputCache 在 Web 窗體上支持的所有屬性,用戶控件也同樣支持。用戶控件還支持名為 VaryByControl 的 OutputCache 屬性,該屬性將根據用戶控件(通常是頁面上的控件,例如,DropDownList)的成員的值改變該控件的緩存。

如果指定了 VaryByControl,可以省略 VaryByParam.***,在默認情況下,對每個頁面上的每個用戶控件都單獨進行ASP.NET緩存。不過,如果一個用戶控件不隨應用程序中的頁面改變,并且在所有頁面都使用相同的名稱,則可以應用 Shared="true" 參數,該參數將使用戶控件的緩存版本供所有引用該控件的頁面使用。 示例< %@ OutputCache Duration="60" VaryByParam="*" %> 該示例將緩存用戶控件 60 秒,并且將針對查詢字符串的每個變動、針對此控件所在的每個頁面創建單獨的緩存條目。

【編輯推薦】

  1. 淺析ASP.NET Web 安全性
  2. ASP.NET的Session State
  3. 淺析IsPostBack屬性ASP.NET
  4. ASP.NET構架與安全機制
  5. 概述ASP.NET水晶報表
責任編輯:佚名 來源: IT168
相關推薦

2009-07-31 10:33:54

ASP.NET頁面輸出

2009-07-31 10:23:44

緩存頁面ASP.NET緩存

2009-07-29 15:34:13

2009-10-10 10:44:15

ASP.NET頁面緩存

2009-07-23 14:17:41

2009-07-29 17:26:39

ASP.NET頁面

2009-08-04 15:22:33

ASP.NET緩存機制

2009-08-03 13:38:18

ASP.NET編程模型

2009-07-29 10:35:51

ASP.NET緩存

2009-07-27 15:25:40

aspx頁面ASP.NET

2009-08-05 18:22:55

2009-07-23 10:52:38

2009-07-21 15:40:59

Asp.Net動態頁面

2009-07-28 16:40:11

ASP.NET異步頁面

2009-07-23 14:21:55

ASP.NET頁面

2009-05-11 13:48:00

ASP.NET 2.0緩存效率

2009-08-03 18:35:51

ASP.NET數據緩存

2009-08-17 16:59:36

ASP.NET緩存機制

2009-08-03 18:47:12

ASP.NET數據緩存

2009-07-23 14:08:58

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91文字幕巨乱亚洲香蕉 | 欧美在线激情 | 国产乱性| 国产在线精品一区二区三区 | 日韩在线播放一区 | 青青草网站在线观看 | 久久精品视频亚洲 | 久久剧场 | 成年人精品视频在线观看 | 日日骑| 超碰精品在线观看 | 亚洲一区二区在线 | 狠狠插天天干 | 玖玖视频国产 | 成人精品一区二区三区中文字幕 | 亚洲精品视频免费观看 | 欧美亚洲另类丝袜综合网动图 | 久久成人午夜 | 亚洲一区国产 | 免费看片国产 | 久久精品视频91 | 国产97久久| 国产精品电影网 | 国产一区二区三区在线视频 | 精品国产乱码久久久久久丨区2区 | 夜夜爽99久久国产综合精品女不卡 | 国产a视频| 久久一区二区三区电影 | 欧美二区三区 | 天天天操操操 | 成人精品一区二区三区 | 一区二区三区免费 | 欧美精品一区二区三区四区五区 | 国产成人免费视频 | 成人在线视频免费看 | 国产亚洲精品久久情网 | 久久精品亚洲精品国产欧美 | 日韩精品成人在线 | 污视频免费在线观看 | 国产成人网 | 国产一级视频在线 |