还是先来过一遍@outpucache所有的属性,共用11个属性,这个指令可以用于页面(.asp教程x)和用户控件(.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头来决定是否缓存不同的版本。
varybyheader 根据http headers来决定是否进行分版本存储,同样也是分号分隔的字符串列表
varybycustom 通过这个属性,你可以自定义怎么来缓存页面
sqldependency 为当前缓存指定一个依赖项,当发生变动时从缓存区中删除掉当前页面或控件的缓存。
就是上面列的着11个属性,大多数时候,只需要duration和varybyparam这两个属性就搞定了,比如:
<%@ outputcache duration="100" varybyparam="none" %>
上面指令没有指定location默认是客户端和服务器端都缓存,这个时候如果改变页面的querystring会被忽略,直接从缓存中返回结果,所以在需要根据参数返回不同内容的页面千万不要这么设置,可以采用以下方式:
<%@ outputcache duration="100" varybyparam="*"%>
上面关于duration属性,说是必须的,其实也不然,当你不想用缓存是就不必写^_^,如下,禁用当前页面缓存:
<%@ outputcache location="none" %>
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级