代码改变世界

我用ASP.NET缓存之OutputCache

  IT农民!  阅读(1288)  评论(2编辑  收藏  举报

【我的理解】页面缓存常用在网站上。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" %>
复制代码

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

【源码下载】

 

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 单线程的Redis速度为什么快?
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示