技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運(yùn)營(yíng)

贊助商

分類(lèi)目錄

贊助商

最新文章

搜索

UserControl緩存和Page為緩存的區(qū)別

作者:admin    時(shí)間:2012-11-20 0:19:59    瀏覽:

UserControl緩存和Page緩存的一些區(qū)別:

1.作用范圍:UserControl為頁(yè)面局部的緩存,Page為頁(yè)面全部的緩存

2.優(yōu)先級(jí):Page緩存優(yōu)先級(jí)高于UserControl

例如:

UserControl :          

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

Page  :

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

當(dāng)ProductType =1改變時(shí),Page緩存并不更新(UserControl并不更新)

如果Page去掉 OutputCache命令,則ProductType更新時(shí),Page會(huì)更新(Control更新)

3. 頁(yè)面生命OutPutCahe緩存策略?xún)?yōu)先于后臺(tái)代碼:

比如

<%@ OutputCache  Duration="100" Location="Any" %>

緩存100S

代碼:

Response.Cache.SetExpires(DateTime.Now.AddMinutes(1));

緩存100秒

UserControl和Page中各命令參數(shù)比較(空 表示不支持)

 

簡(jiǎn)單介紹

Control

Page

Duration

緩存時(shí)間

支持

支持

Location

存儲(chǔ)位置

 

支持

Shared

多頁(yè)面共享

支持

 

VaryByParam

隨參數(shù)改變

支持

支持

VaryByControl

隨控件改變?

支持

 

VaryByHeader

Http協(xié)議頭

 

支持

VaryByCustom

自定義改變值

支持

支持

SqlDependency

Sql依賴(lài)

支持

支持

CacheProfile

Cache配置節(jié)名稱(chēng)

 

支持

NoStore

是否有其他存儲(chǔ)介質(zhì)

 

支持

知識(shí)擴(kuò)展

asp.net緩存的幾種實(shí)現(xiàn)方式

1、使用OutputCache指令緩存

網(wǎng)頁(yè)使用OutputCache指令緩存,是最常見(jiàn)的asp.net頁(yè)面緩存的實(shí)現(xiàn)方法,在前一篇文章里進(jìn)行詳細(xì)的介紹過(guò),參閱《OutputCache緩存優(yōu)化asp.net代碼 提高網(wǎng)頁(yè)性能

2、根據(jù)不同的語(yǔ)言緩存不同的版本:

Response.Cache.SetExpires(DateTime.Now.AddMinutes(1));       
Response.Cache.SetCacheability(HttpCacheability.Public);       
Response.Cache.SetValidUntilExpires(true);
Response.Cache.VaryByHeaders["Accept-Language"] = true;

3、文檔以來(lái)緩存:

Response.AddFileDependency(Server.MapPath(Request.ApplicationPath + "/Web.Config"));
Response.Cache.SetExpires(DateTime.Now.AddMinutes(1));
Response.Cache.SetCacheability(HttpCacheability.Public);

這三種實(shí)現(xiàn)方式有所不同,可根據(jù)具體的需要和實(shí)際情況進(jìn)行使用。

標(biāo)簽: 緩存  UserControl  
x