ASP.NET 页面指令 之 @OutputCache
来源:互联网 发布:mac多桌面有什么用 编辑:程序博客网 时间:2024/05/23 11:20
缓存的重要性就不用再强调了,@OutputCache给我们提供了一种声明的方式(对应的还有编程的方式)来控制页面和用户控件的缓存策略,这是一种最简单直接的网站优化方式。
还是先来过一遍@OutpuCache所有的属性,共用11个属性,这个指令可以用于页面(.aspx)和用户控件(.ascx)
属性
Duration
页或用户控件进行缓存的时间,单位秒,可以在页面或控件上设置该属性来建立一个缓存的过期策略,该属性是必须的。
VaryByParam
分号分割的字符串列表,是否根据某个参数变化,和VaryByControl二者必须有一。如果不变化,可将值设置为none,否则设置为*,或者变化的参数名称(Get或Post的参数)。
VaryByControl
分号分割的字符串列表,只限于用户控件,串列表的值是服务器控件标识。
还是先来过一遍@OutpuCache所有的属性,共用11个属性,这个指令可以用于页面(.aspx)和用户控件(.ascx)
属性
Duration
页或用户控件进行缓存的时间,单位秒,可以在页面或控件上设置该属性来建立一个缓存的过期策略,该属性是必须的。
VaryByParam
分号分割的字符串列表,是否根据某个参数变化,和VaryByControl二者必须有一。如果不变化,可将值设置为none,否则设置为*,或者变化的参数名称(Get或Post的参数)。
VaryByControl
分号分割的字符串列表,只限于用户控件,串列表的值是服务器控件标识。
Location 缓存的位置,默认是Any,该属性仅限于.aspx文件,可选项是Any,Client,Downstream,Server,None,ServerAndClient
Shared 该属性仅限于.ascx文件,默认为false,用户控件是否可以由多个页面共享。
CacheProfile 你可以在web.config中配置一个缓存设置,这样以后就可以共用这个缓存设置,方便统一修改,不支持用户控件
NoStore 这个不是太清楚什么用,MSDN上说是决定是否对敏感信息辅助存储.
VaryByContentEncodings 同样也是逗号分隔的字符串列表,根据Accept-Encodeing Http头来决定是否缓存不同的版本。
Shared 该属性仅限于.ascx文件,默认为false,用户控件是否可以由多个页面共享。
CacheProfile 你可以在web.config中配置一个缓存设置,这样以后就可以共用这个缓存设置,方便统一修改,不支持用户控件
NoStore 这个不是太清楚什么用,MSDN上说是决定是否对敏感信息辅助存储.
VaryByContentEncodings 同样也是逗号分隔的字符串列表,根据Accept-Encodeing Http头来决定是否缓存不同的版本。
VaryByHeader 根据Http headers来决定是否进行分版本存储,同样也是分号分隔的字符串列表
VaryByCustom 通过这个属性,你可以自定义怎么来缓存页面
SqlDependency 为当前缓存指定一个依赖项,当发生变动时从缓存区中删除掉当前页面或控件的缓存。
VaryByCustom 通过这个属性,你可以自定义怎么来缓存页面
SqlDependency 为当前缓存指定一个依赖项,当发生变动时从缓存区中删除掉当前页面或控件的缓存。
就是上面列的着11个属性,大多数时候,只需要Duration和VaryByParam这两个属性就搞定了,比如:
<%@ OutputCache Duration="100" VaryByParam="none" %>
上面指令没有指定Location默认是客户端和服务器端都缓存,这个时候如果改变页面的QueryString会被忽略,直接从缓存中返回结果,所以在需要根据参数返回不同内容的页面千万不要这么设置,可以采用以下方式:
<%@ OutputCache Duration="100" VaryByParam="*"%>
上面关于Duration属性,说是必须的,其实也不然,当你不想用缓存是就不必写^_^,如下,禁用当前页面缓存:
<%@ OutputCache Location="None" %>
- ASP.NET 页面指令 之 @OutputCache
- ASP.net 中 OutputCache 指令各个参数的作用
- [备]ASP.net 中 OutputCache 指令各个参数的作用。
- ASP.net 中 OutputCache 指令各个参数的作用
- ASP.net 中 OutputCache 指令各个参数的作用
- [Asp.Net] OutputCache
- ASP NET MVC OutputCache
- @OutputCache页面缓存指令参数
- ASP.NET 页面指令
- ASP.NET页面指令
- ASP.NET页面指令
- Asp.Net 4.0 新特性之 使用自定义OutputCache Provider
- Asp.Net 4.0 新特性之 使用自定义OutputCache Provider
- ASP.NET页面指令详解
- asp.net常用页面指令
- Asp.net 页面传值之 @ PreviousPageType 指令。
- ASP.NET MVC中使用OutputCache实现服务器端页面级缓存注意问题
- asp.net mvc源码分析-OutputCache
- ado excel到access
- MDI中不显示菜单
- 啊
- oracle的按月统计sql(一个数据库面试题)
- 20091027_.NET_about NotifyIcon
- ASP.NET 页面指令 之 @OutputCache
- zend studio 6配置
- jsp编码 补充 关于JSP页面中的pageEncoding和contentType两种属性的区别
- 计算出字符串中的单词数
- DB2数据库SELECT语句的三种高级用法
- 【转】UNION(ALL)/INTERSECT/MINUS
- [zz]基于SKETCH-FLOW的快速原型设计
- opensource project FOSS
- HTTP Servlet 重要的几个方法