清除aspx页面缓存的程序实现方法

本文实例介绍了清除aspx页面缓存的程序实现方法,具体步骤如下:

所有用到页面缓存的aspx页面修改以下cs,让它继承一个自定义基类(例如:PageCacheBase);
PageCacheBase 的 Page_Load

加入以下代码:

string cacheKey = Request.Url.ToString();
Cache[cacheKey] = new object();
Response.AddCacheItemDependency(cacheKey);

这样就能在应用程序(整个网站)Cache里遍历缓存项(包括这些aspx页面的缓存依赖项)了,我把他们绑定到DataGrid:

private void bindCache()
{
DataTable dt = new DataTable();
dt.Columns.Add("CacheName",typeof(string));
dt.Columns.Add("CacheType",typeof(string));
IDictionaryEnumerator CacheEnum =
HttpRuntime.Cache.GetEnumerator();
while (CacheEnum.MoveNext())
{
DataRow dr = dt.NewRow();
dr["CacheName"] = CacheEnum.Key;
dr["CacheType"] = CacheEnum.Value.GetType();
dt.Rows.Add(dr);
} 

DataView dv = dt.DefaultView;
dv.Sort = "CacheName";
this.DataGrid1.DataSource =dt;
this.DataGrid1.DataBind();
}

删除就简单了,实现代码如下:

string cacheKey = e.Item.Cells[0].Text;
if(Cache[cacheKey]!=null)
{
Cache.Remove(cacheKey);
bindCache();
}
(0)

相关推荐

  • 各类常见语言清除网页缓存方法汇总

    本文实例汇总了各类常见语言清除网页缓存方法.分享给大家供大家参考.具体实现方法如下: 一般来说,清除缓存我们只需要设置页面为no-cache就可以了,当然像asp,php这种只需要设置Expires操作即可,具体如下. HTML网页: 复制代码 代码如下: <META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT=

  • CodeIgniter启用缓存和清除缓存的方法

    Codeigniter支持缓存技术,以达到最快的速度.尽管CI已经相当高效了,但是网页中的动态内容.主机的内存CPU和数据库读取速度等因素直接影响了网页的加载速度.依靠网页缓存,你的网页可以达到近乎静态网页的加载速度,因为他们将程序输出的结果保存到硬盘上了. 缓存是怎么工作的? CI支持每个页面单独缓存,而且可以设置缓存更新时间.当一个网页第一次被加载的时候,缓存文件将被保存到application/cache文件夹.下次访问的时候,系统就会直接读取缓存文件,然后返回给用户的浏览器.如果缓存文件

  • ASP.NET页面在IE缓存的清除办法

    以前没有注意到这个问题,今天在看Blog的时候发现有篇文章不错,或许以后值得借鉴: 一般情况下,WEB页面都会在Internet临时文件夹中有一个临时文件.我在操作IE时会出现这种情况:假如说有一个页面Page1.aspx,在我第一次访问后,它会在我的Internet临时文件夹里有一个Page1.aspx文件生成.之后,如果我改了Page1.aspx的数据后再次访问该页面,发现IE并没有对这个Page1.aspx的数据进行更新,反而打开的是我第一次访问的页面.为什么会这样,是因为IE自动(默认)

  • 浅析HTTP消息头网页缓存控制以及header常用指令介绍

    网页的缓存是由HTTP消息头中的"Cache-control"来控制的,常见的取值有private.no-cache.max-age.must-revalidate等,默认为private.其作用根据不同的重新浏览方式分为以下几种情况:(1) 打开新窗口值为private.no-cache.must-revalidate,那么打开新窗口访问时都会重新访问服务器.而如果指定了max-age值,那么在此值内的时间里就不会重新访问服务器,例如:Cache-control: max-age=5

  • ASP.NET 清除模式窗口数据缓存的操作方式

    使用模式窗口showModalDialog()弹出页面在asp.net中经常用到 用的最多的就是点击"修改"按钮,弹出修改页面:修改成功之后,关闭修改页面,刷新父页面. 目前存在的一个问题是,刷新完父页面之后,再点击修改按钮弹出修改页面,修改页面显示的数据却不是修改后的数据,还是第一次弹出修改页面的旧数据,这里就涉及到了清除模式窗口缓存数据的问题. 这涉及到ShowModalDialog缓存机制的问题,需要我们手动添加一些代码来清除缓存. 操作方式如下: 首先在前台界面(即aspx的界

  • 防止网页后退 asp禁止缓存

    像一般网上很多禁止缓存的代码,有时并不可靠,这时你只要在操作的页面加上就可以了,在网页的里指定要定向的新页,再点后退,看是不是不会再退到刚才的操作页面了,实际上已经把这个历史给删除了  ''''''''''''''''''''''''''''''''''''''''ASP 脚本  Response.Buffer = True  Response.ExpiresAbsolute = Now() - 1  Response.Expires = 0  Response.CacheControl = "

  • ASP.NET性能优化之让浏览器缓存动态网页的方法

    OutputCache是针对所有访问服务器资源的用户,本篇要介绍的浏览器缓存则是针对单个用户,让浏览器在我们的控制下彻底不持续访问服务器上的动态内容,也就是我们要让浏览器变成我们的缓存机制中的一部分,在某些特定的场景下最大化地提升ASP.NET站点的性能.如果说OutputCache是从广度上提升并发效率,则浏览器缓存是从深度上提升效率. 一:HTTP头简介 1.1浏览器第一次请求 假设我们请求一个URL地址,譬如我服务器上的一个静态页面http://192.168.0.77/luminji2/

  • PHP Squid中可缓存的动态网页设计

    当然,前提要先打开CDN中一个功能reload_into_ims on.这样用户发送过来no-cache也不怕了.因为这样会给给no-cache转成If-Modified-Since .所以我们写程序主要是对If-Modified-Since控制就好了.记的,缓存系统架构中计中最好是后端来控制,所以最好的方法是程序来管理过期.呵,我只会php,就用php写一个,别的程序也是一样 见我下面的程序,呵呵,5分钟过期. <?php $headers = apache_request_headers()

  • php 文件夹删除、php清除缓存程序

    复制代码 代码如下: <?php header('content-type:text/html;charset=utf-8'); function delFile($fpath) { $filesize = array(); $filepath = iconv('gb2312', 'utf-8', $fpath); if (is_dir($fpath)) { if ($dh = opendir($fpath)) { while (($file = readdir($dh)) !== false)

  • ThinkPHP实现一键清除缓存方法

    很多的开源cms系统都有一键清除缓存的功能,缓存是为了减轻服务器的压力而产生的,但是同时有缓存的存在也可能使一些数据不能实时更新,对此,我们就来实现一个ThinkPHP的清理缓存的功能.代码如下: ThinkPHP后台执行的代码: //获取要清楚的目录和目录所在的绝对路径 public function cache(){ ////前台用ajax get方式进行提交的,这里是先判断一下 if($_POST['type']){ //得到传递过来的值 $type=$_POST['type']; //将

  • 网页缓存文件批量改名工具

    学习脚本离不开借鉴... 在这里提供一个工具,原创的.请大家善用之. Temporary Internet Files文件批量改名工具,用来提取网页缓存. Temporary Internet Files文件批量改名工具(演示版) function killErrors() {this.location.href="error.htm"} //window.onerror = killErrors var fso = new ActiveXObject("Scripting.

随机推荐