技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营

赞助商

分类目录

赞助商

最新文章

搜索

UserControl缓存和Page为缓存的区别

作者:admin    时间:2012-11-20 0:19:59    浏览:

UserControl缓存和Page缓存的一些区别:

1.作用范围:UserControl为页面局部的缓存,Page为页面全部的缓存

2.优先级:Page缓存优先级高于UserControl

例如:

UserControl :          

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

Page  :

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

当ProductType =1改变时,Page缓存并不更新(UserControl并不更新)

如果Page去掉 OutputCache命令,则ProductType更新时,Page会更新(Control更新)

3. 页面生命OutPutCahe缓存策略优先于后台代码:

比如

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

缓存100S

代码:

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

缓存100秒

UserControl和Page中各命令参数比较(空 表示不支持)

 

简单介绍

Control

Page

Duration

缓存时间

支持

支持

Location

存储位置

 

支持

Shared

多页面共享

支持

 

VaryByParam

随参数改变

支持

支持

VaryByControl

随控件改变?

支持

 

VaryByHeader

Http协议头

 

支持

VaryByCustom

自定义改变值

支持

支持

SqlDependency

Sql依赖

支持

支持

CacheProfile

Cache配置节名称

 

支持

NoStore

是否有其他存储介质

 

支持

知识扩展

asp.net缓存的几种实现方式

1、使用OutputCache指令缓存

网页使用OutputCache指令缓存,是最常见的asp.net页面缓存的实现方法,在前一篇文章里进行详细的介绍过,参阅《OutputCache缓存优化asp.net代码 提高网页性能

2、根据不同的语言缓存不同的版本:

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

3、文档以来缓存:

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

这三种实现方式有所不同,可根据具体的需要和实际情况进行使用。

标签: 缓存  UserControl  
  • IT热文
  • 站长推荐