加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

玩玩asp.net 2.0的caching系列二 - RemoveOutputCacheItem

发布时间:2020-12-16 09:27:39 所属栏目:asp.Net 来源:网络整理
导读:玩玩asp.net 2.0的caching系列二 - RemoveOutputCacheItem 在asp时代,要作cache通常是用application来存数据, 要完整一点的.就是自己写个class来操作application控制要cache的数据. 但是在asp.net,页面要cache变得简单许多. 只要一行 %@ OutputCache Duratio

玩玩asp.net 2.0的caching系列二 - RemoveOutputCacheItem


在asp时代,要作cache通常是用application来存数据,
要完整一点的.就是自己写个class来操作application控制要cache的数据.

但是在asp.net,页面要cache变得简单许多.
只要一行

<%@ OutputCache Duration="60" VaryByParam="None" %>

就可以了,
但是,现在问题又来了,
客户希望后台新增完后他要立即可以从前台看到更新的数据.
先前在网络上看到是有说只要页面有修改outputcache就会被清除.
但是...这是在测试时候的方式,
在production环境的页面应该是不能让客户每次更新完就去动一下页面.
要解决这问题,
可以使用HttpResponse.RemoveOutputCacheItem
用法如下 :

HttpResponse.RemoveOutputCacheItem("/default.aspx");

假设你的default.aspx有设定了outputcache,那你可以新增一个管理cache的页面.
在那个页面上有个按钮,点下后调用上面的程序.
而RemoveOutputCacheItem所带的参数就是你的页面的绝对路径(不能使用"../"这种相对路径).

测试网址:

OutputCache页面 : http://vip.blueshop.com.tw/ajun/cachetest.aspx
Cache管理页面 : http://vip.blueshop.com.tw/ajun/cachemanager.aspx

outputCache页面在上一篇介绍过了,而管理的页面中有两个功能,
remove cache才是这次的测试范例.

只要确定网址正确,按下remove cache后,该页面的outputcache就会被清除,
再次浏览outputcache的页面后就会是被更新后的数据了.

问题到这大致上已经ok了,
但是...还是有点状况,
因为后台维护的数据是最新消息,
而除了首页外,还有其他的页面也都会显示最新消息,
所以如果要用RemoveOutputCacheItem一笔一笔清除cache似乎有点麻烦,
所以下一篇将会是说明怎么处理这样的问题.
ps.范例中有这个的程序,如果等不及想要知道解决方案的话,可以直接看code.

范例下载:
http://ajunlee.googlepages.com/CacheTest.rar

原文:大专栏 ?玩玩asp.net 2.0的caching系列二 - RemoveOutputCacheItem

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读