博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OutputCache说明
阅读量:6427 次
发布时间:2019-06-23

本文共 1545 字,大约阅读时间需要 5 分钟。

当用户访问该页面,整个页面会server存储在内存中,因此,该页面缓存。当用户再次访问该页面,页面不会再次运行数据操作,页面首先检查server中是否存在缓存。假设缓存存在,则直接从缓存中获取页面信息,假设页面不存在。则创建缓存。

页面输出缓存适用于那些数据量较多。而不会进行过多的事件操作的页面,假设一个页面须要运行大量的事件更新,以及数据更新,则并不能使用页面输出缓存。

使用@OutputCatch指令可以声明页面输出缓存,演示样例代码例如以下所看到的。

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

上述代码使用@OutputCatch指令声明了页面缓存。该页面将被缓存120秒。@OutputCatch指令包含10个属性。通过这些属性可以分别为页面的不同情况进行缓存设置,经常使用的属性例如以下所看到的:

q CacheProfile:获取或设置OutputCacheProfile名称。

q Duration:获取或设置缓存项须要保留在缓存中的时间。

q VaryByHeader:获取或设置用于改变缓存项的一组都好分隔的HTTP标头名称。

q Location:获取或设置一个值,该值确定缓存项的位置,包含AnyClintDownstreamNoneServerServerAndClient

默认值为Any

q VaryByControl:获取或设置一簇分好分隔的控件标识符,这些标识符包括在当前页或用户控件内,用于改变当前的缓存项。

q NoStore:获取或设置一个值。该值确定是否设置了“Http Cache-Controlno-store”指令。

q VaryByCustom:获取输出缓存用来改变缓存项的自己定义字符串列表。

q Enabled:获取或设置一个值。该值指示是否对当前内容启用了输出缓存。

q VaryByParam:获取查询字符串或窗口POST參数的列表。

通过设置对应的属性。能够为页面设置对应的缓存。当须要为Default.aspx设置缓存项时,能够使用VaryByParam属性进行设置。演示样例代码例如以下所看到的。

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

上述代码使用了Duration属性和VarByParam属性设置了当前页的缓存属性。为一个页面进行总体的缓存设置往往是没有必要的,经常还会造成困扰。比如Default.aspx?id=1Default.aspx?id=100在缓存时可能呈现的页面是同样的。这往往不是开发者所希望的。通过配置VarByParam属性可以指定缓存參数,演示样例代码例如以下所看到的。

<%@ OutputCache Duration="120" VaryByParam="id" %>

上述代码则通过參数id进行缓存。当id项不同一时候,ASP.NET所进行的页面缓存也不尽同样。这样保证了Default.aspx?id=1Default.aspx?id=100在缓存时所显示的页面并不一致。

VarByHeaderVarByCustom主要用于依据訪问页面的client对页面的外观或内容进行自己定义。

ASP.NET中。一个页面可能须要为PC用户和MOBILE用户呈现输出,因此能够通过client的版本号不同来缓存不同的数据,演示样例代码例如以下所看到的。

<%@ OutputCache Duration="120" VaryByParam="none" VaryByCustom="browser" %>

是单独为每个浏览器缓存条目中的代码。

转载地址:http://eunga.baihongyu.com/

你可能感兴趣的文章
visual studio 中GIT的用法
查看>>
数据库中触发器before与after认识
查看>>
手动露天广场和立方体
查看>>
随机选择
查看>>
【Java并发编程三】闭锁
查看>>
分布式事务中遇到的 “与基础事务管理器的通信失败”的解决方法
查看>>
让你的Git水平更上一层楼的10个小贴士
查看>>
c++ string 之 find_first_not_of 源码
查看>>
mybatis中的#和$的区别
查看>>
ubuntu下搭建NDK环境
查看>>
MessageDigest简单介绍
查看>>
webpack window 使用sass来编译css样式
查看>>
D3 & Data Visualization in Ext JS
查看>>
java通过UUID生成16位唯一订单号
查看>>
001-web基本程序搭建
查看>>
函数指针和指针函数
查看>>
Intel 揭秘:如何在公有云、混合云和私有云间合理放置工作负载
查看>>
借力AI 极验如何构建下一代业务安全?
查看>>
用Python制作迷宫GIF
查看>>
支付宝推出基于区块链跨境支付,巨头入场小企业将面临灭顶之灾
查看>>