国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > .NET > 正文

充分利用ASP.NET的三種緩存提高站點(diǎn)性能的注意方法

2024-07-10 12:40:03
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
ASP.NET提供三種主要形式的緩存:頁(yè)面級(jí)輸出緩存、用戶(hù)控件級(jí)輸出緩存(或稱(chēng)為片段緩存)和緩存API。

盡早緩存;經(jīng)常緩存 
  您應(yīng)該在應(yīng)用程序的每一層都實(shí)現(xiàn)緩存。向數(shù)據(jù)層、業(yè)務(wù)邏輯層、UI或輸出層添加緩存支持。內(nèi)存現(xiàn)在非常便宜-因此,通過(guò)以智能的方式在整個(gè)應(yīng)用程序中實(shí)現(xiàn)緩存,可以獲得很大的性能提高。

頁(yè)面級(jí)輸出緩存

最簡(jiǎn)單的緩存形式,只是在內(nèi)存中保留為響應(yīng)請(qǐng)求而發(fā)送的HTML的副本。
要實(shí)現(xiàn)頁(yè)面輸出緩存,只要將一條OutputCache指令添加到頁(yè)面即可。

<%@ OutputCache Duration="60" VaryByParam="*" %> 

  它支持五個(gè)屬性(或參數(shù)),其中兩個(gè)是必需的。

  Duration 必需屬性。頁(yè)面應(yīng)該被緩存的時(shí)間,以秒為單位。必須是正整數(shù)。 

  Location 緩存的位置。參數(shù):Any、Client、Downstream、None、Server或ServerAndClient。

  VaryByParam 必需屬性。Request中變量的名稱(chēng)。none表示沒(méi)有變動(dòng)。*用于為每個(gè)不同的變量創(chuàng)建緩存。
        變量之間用“;”進(jìn)行分隔。

  VaryByHeader 基于指定的標(biāo)頭中的變動(dòng)改變緩存條目。

  VaryByCustom 允許在global.asax中指定自定義變動(dòng)(例如,“Browser”)。

  利用必需的Duration和VaryByParam選項(xiàng)的組合可以處理大多數(shù)情況。例如,如果您的產(chǎn)品目錄允許用戶(hù)基于categoryID和頁(yè)變量查看目錄頁(yè),您可以用參數(shù)值為“categoryID;page”的VaryByParam將產(chǎn)品目錄緩存一段時(shí)間(如果產(chǎn)品不是隨時(shí)都在改變,一小時(shí)還是可以接受的,因此,持續(xù)時(shí)間是3600秒)。這將為每個(gè)種類(lèi)的每個(gè)目錄頁(yè)創(chuàng)建單獨(dú)的緩存條目。每個(gè)條目從其第一個(gè)請(qǐng)求算起將維持一個(gè)小時(shí)。

  示例:VaryByCustom用于支持瀏覽器自定義

  為了使每個(gè)瀏覽器都具有單獨(dú)的緩存條目,VaryByCustom的值可以設(shè)置為“browser”。此功能已經(jīng)內(nèi)置在緩存模塊中,并且將針對(duì)每個(gè)瀏覽器名稱(chēng)和主要版本插入單獨(dú)的頁(yè)面緩存版本。

<%@ OutputCache Duration="60" VaryByParam="None" VaryByCustom="browser"%> 



片段緩存,用戶(hù)控件輸出緩存

  片段緩存使用的語(yǔ)法與頁(yè)面級(jí)輸出緩存一樣,但其應(yīng)用于用戶(hù)控件(.ascx文件)而不是Web窗體。

       用戶(hù)控件還支持名為VaryByControl的屬性,該屬性將根據(jù).ascx文件中的服務(wù)器控件的值改變?cè)摽丶木彺妗H绻付薞aryByControl,可以省略VaryByParam。如果所有頁(yè)面都使用相同的用戶(hù)控件,則可以設(shè)置參數(shù)Shared的值為“true”。

<%@ OutputCache Duration="60" VaryByParam="*" %> 
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 广宗县| 兰州市| 获嘉县| 吉木萨尔县| 蒙山县| 曲阜市| 米林县| 桂平市| 涿州市| 丁青县| 晴隆县| 于田县| 年辖:市辖区| 西充县| 郯城县| 山西省| 陵川县| 遂溪县| 东安县| 保德县| 兴义市| 临西县| 大洼县| 大丰市| 通山县| 灌阳县| 新泰市| 眉山市| 宁远县| 洪湖市| 和林格尔县| 朔州市| 理塘县| 绥江县| 兖州市| 白河县| 金山区| 金山区| 高雄市| 那曲县| 那曲县|