OutputCache说明
当用户访问该页面,整个页面会server存储在内存中,因此,该页面缓存。当用户再次访问该页面,页面不会再次运行数据操作,页面首先检查server中是否存在缓存。假设缓存存在,则直接从缓存中获取页面信息,假设页面不存在。则创建缓存。
页面输出缓存适用于那些数据量较多。而不会进行过多的事件操作的页面,假设一个页面须要运行大量的事件更新,以及数据更新,则并不能使用页面输出缓存。
使用@OutputCatch指令可以声明页面输出缓存,演示样例代码例如以下所看到的。
<%@ OutputCache Duration="120" VaryByParam="none" %>
上述代码使用@OutputCatch指令声明了页面缓存。该页面将被缓存120秒。@OutputCatch指令包含10个属性。通过这些属性可以分别为页面的不同情况进行缓存设置,经常使用的属性例如以下所看到的:
q CacheProfile:获取或设置OutputCacheProfile名称。
q Duration:获取或设置缓存项须要保留在缓存中的时间。
q VaryByHeader:获取或设置用于改变缓存项的一组都好分隔的HTTP标头名称。
q Location:获取或设置一个值,该值确定缓存项的位置,包含Any、Clint、Downstream、None、Server和ServerAndClient。
默认值为Any。
q VaryByControl:获取或设置一簇分好分隔的控件标识符,这些标识符包括在当前页或用户控件内,用于改变当前的缓存项。
q NoStore:获取或设置一个值。该值确定是否设置了“Http Cache-Control:no-store”指令。
q VaryByCustom:获取输出缓存用来改变缓存项的自己定义字符串列表。
q Enabled:获取或设置一个值。该值指示是否对当前内容启用了输出缓存。
q VaryByParam:获取查询字符串或窗口POST參数的列表。
通过设置对应的属性。能够为页面设置对应的缓存。当须要为Default.aspx设置缓存项时,能够使用VaryByParam属性进行设置。演示样例代码例如以下所看到的。
<%@ OutputCache Duration="120" VaryByParam="none" %>
上述代码使用了Duration属性和VarByParam属性设置了当前页的缓存属性。为一个页面进行总体的缓存设置往往是没有必要的,经常还会造成困扰。比如Default.aspx?id=1和Default.aspx?id=100在缓存时可能呈现的页面是同样的。这往往不是开发者所希望的。通过配置VarByParam属性可以指定缓存參数,演示样例代码例如以下所看到的。
<%@ OutputCache Duration="120" VaryByParam="id" %>
上述代码则通过參数id进行缓存。当id项不同一时候,ASP.NET所进行的页面缓存也不尽同样。这样保证了Default.aspx?id=1和Default.aspx?id=100在缓存时所显示的页面并不一致。
VarByHeader和VarByCustom主要用于依据訪问页面的client对页面的外观或内容进行自己定义。
在ASP.NET中。一个页面可能须要为PC用户和MOBILE用户呈现输出,因此能够通过client的版本号不同来缓存不同的数据,演示样例代码例如以下所看到的。
<%@ OutputCache Duration="120" VaryByParam="none" VaryByCustom="browser" %>
是单独为每个浏览器缓存条目中的代码。
OutputCache说明的更多相关文章
- C# - 缓存OutputCache(二)缓存详细介绍
本文是通过网上&个人总结的 1.缓存介绍 缓存是为了提高访问速度,而做的技术. 缓存主要有以下几类:1)客户端缓存Client Caching 2)代理缓存Proxy Caching 3)方向 ...
- C# - 缓存OutputCache(一)基础配置
本文是通过网上&个人总结的 1. 介绍 OutputCache输出缓存是复制ASP.NET页面,保存在内存的机制.这种行为有助于提高性能,通过返回的缓存达到网页及时响应的目的,减少客户机器需要 ...
- ASP.NET 中 OutputCache 指令参数详解
使用@ OutputCache指令使用@ OutputCache指令,能够实现对页面输出缓存的一般性需要.@ OutputCache指令在ASP.NET页或者页中包含的用户控件的头部声明.这种方式非常 ...
- @OutputCache 详解-文章目录
OutputCache概念学习 OutputCache属性详解(一)一Duration.VaryByParam OutputCache属性详解(二)一 Location OutputCache属性详解 ...
- Last-Modified、If-Modified-Since 实现缓存和 OutputCache 的区别
先梳理三个概念: OutputCache:页面输出缓存,一般 ASP.NET 应用程序会用到. Last-Modified:Http 响应头(Http Reponse Header),由服务器发给客户 ...
- OutputCache概念学习
目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...
- OutputCache属性详解(一)一Duration、VaryByParam
目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...
- OutputCache属性详解(二)一 Location
目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...
- OutputCache属性详解(三)— VaryByHeader,VaryByCustom
目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...
- OutputCache属性详解(四)— SqlDependency
目录 OutputCache概念学习 OutputCache属性详解(一) OutputCache属性详解(二) OutputCache属性详解(三) OutputCache属性详解(四)— SqlD ...
随机推荐
- dom4j的用法
package xml; import java.io.FileWriter; import java.io.IOException; import java.util.Iterator; impor ...
- Activity与Service通信的方式有三种:
在博客园看到的,看着挺不错的,借来分享下 继承Binder类 这个方式仅仅有当你的Acitivity和Service处于同一个Application和进程时,才干够用,比方你后台有一个播放背景音乐的S ...
- javascritp封装的类似java HashMap的类
function Map(){ this.init(); }; //map的大小 Map.prototype.size = function(){ return this._size; }; //将数 ...
- mysql相关日志汇总
日志作为重要的查询问题的手段.所以尽量记录上自己须要的日志.以供自己查询一些问题. MySQL有下面几种日志: 错误日志: -log-err 查询日志: -log 慢查询日志: -log-slow-q ...
- Android开源项目pulltorefresh分析与简单使用
在Android开发中有时我们须要訪问网络实时刷新数据.比方QQ好友在线状态最新信息,QQ空间须要显示很多其它的好友动态信息,EOE论坛client显示很多其它的文章帖子信息等.android-pul ...
- ZOJ3626(树形dp)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4772 题意:给一棵有n个结点的树,每个点有点权表示在这个点上的价值, ...
- html+css实现登录界面
<!DOCTYPE html> <style type="text/css"> body{ background-color: #555555; } #ti ...
- 如何让HTML在手机上实现直接拨打电话以及发送短信?
拨打电话的HTML实现方式: <a href="tel:134289210xx″>拨打电话</a> 上面是比较常用的方式,但是有可能在某些场景下是支持不太好,可以试用 ...
- ThinkPHP的全部配置选项
return array( /* Dispatch设置 */ 'DISPATCH_ON' => true, // 是否启用Dispatcher // URL模式: 0 普通模式 1 PATHIN ...
- hdu 4891---水的问题 但WA非常多
这个问题是在一个坑----即使在使用long long 这将是超出范围 自己显得很长的时间去阅读很多次的称号仍然没想到 当时的想法是要记住----无论如何,我用long long 已经最大范围.当然 ...