我用ASP.NET缓存之OutputCache

时间:2022-06-06 03:51:01

【我的理解】页面缓存常用在网站上。Web应用系统上也用,但由于Web系统常与数据库打交道。时效性要求蛮强的,所以是否能用缓存得具体情况具体分析(很喜欢这句话“具体情况具体分析”,很符合国人的中庸之道)

 

【我是怎么用的】

<%@ OutputCache CacheProfile="test" VaryByParam="none" %>

参数分析:

<!--输出缓存 时间20s 
varyparams:定义的缓存方式,有下面几中值 none asp.net只保存缓存页面的一个副本 * 表示当请求中带有查询字符事,会按照不同的参数缓存独立的页面副本 VaryByParam 也可以是按照某个参数名进行缓存,其它参数将被忽略。例如 key;name;sex
-->

这样页面缓存就用上了。

部分页缓存,结果用户控件使用。

需将页面要缓存的一部分放入到一个用户控件中,然后就OutputCache 得指令加入到用户控件上。这样也没不会被缓存,用户控件被缓存了。
但是,如果用户控件里有个属性,需要页面对其赋值,则此时页面会出错。因为用户控件已经缓存,不能通过代码与页面进行交互。 (记住)
 
Web.config 配置缓存。
< system.web>
      < caching>
        < outputCacheSettings>
          < outputCacheProfiles>
            < add name ="test " duration ="10 "/>
           </ outputCacheProfiles>
        </ outputCacheSettings>
      </ caching>
此时 页面上需要 <% @ OutputCache CacheProfile="test" VaryByParam="none" %>

(源码还带有其它的一些缓存形式。先一次性分享出来)

【源码下载】