缓存之缓存文件依赖及编程方式设置输出缓存过期
2008-06-26 12:10
274 查看
可以缓存页面的一个文件或一组文件,设置依赖,但文件被改时,缓存失效
aspx在头的地方写
<%@ OutputCache VaryByParam="none" Duration="9999" %>
可以在此调用时间方便知道是否缓存
<%=DateTime.Now.ToString("T")%>
protected void Page_Load(object sender, EventArgs e)
{
Response.AddFileDependency(MapPath("luca.xml"));
}
用Gridview绑定XML
如果修改此XML缓存失效
另一种编程设置缓存失效
如有个页面是显示jobs数据的页面设置了缓存,当我在另一个页面做添加数据时,我就要把显示jobs的数据缓存去掉
添加一个页面
<%@ OutputCache VaryByParam="none" Duration="9999" %>
这个页面就叫jobs.aspx
获取jobs的值
用GridView等绑定随便我就不写了
加一个链接到添加jobs值得页面
<a href="AddJobs.aspx">AddJobs.aspx</a>
在addjobs页面
当在做完添加操作后写如下代码
string sql = "insert into jobs values('luca',30,50)";
SqlCommand cmd = new SqlCommand(sql,con);
con.Open();
cmd.ExecuteNonQuery();
con.Close(); HttpResponse.RemoveOutputCacheItem(Page.ResolveUrl("~/jobs.aspx"));
Response.Redirect("~/jobs.aspx");
}
就可以还一种情况
如果有多个页面都调用jobs数据并且都缓存了
上面的 HttpResponse.RemoveOutputCacheItem一次只能去除一个页面 我们就要用到Cache
在jobs.aspx中
protected void Page_Load(object sender, EventArgs e)
{
Cache.Insert("jobs", DateTime.Now);
Response.AddCacheItemDependency("jobs");
}
然后在addjobs中在添加操作后
Cache.Remove("jobs");
就ok了
如果另一个页面如jobsDetails.aspx
也缓存了jobs数据
也只要page_load中写
Response.AddCacheItemDependency("jobs");
也就同样会失去缓存
aspx在头的地方写
<%@ OutputCache VaryByParam="none" Duration="9999" %>
可以在此调用时间方便知道是否缓存
<%=DateTime.Now.ToString("T")%>
protected void Page_Load(object sender, EventArgs e)
{
Response.AddFileDependency(MapPath("luca.xml"));
}
用Gridview绑定XML
如果修改此XML缓存失效
另一种编程设置缓存失效
如有个页面是显示jobs数据的页面设置了缓存,当我在另一个页面做添加数据时,我就要把显示jobs的数据缓存去掉
添加一个页面
<%@ OutputCache VaryByParam="none" Duration="9999" %>
这个页面就叫jobs.aspx
获取jobs的值
用GridView等绑定随便我就不写了
加一个链接到添加jobs值得页面
<a href="AddJobs.aspx">AddJobs.aspx</a>
在addjobs页面
当在做完添加操作后写如下代码
string sql = "insert into jobs values('luca',30,50)";
SqlCommand cmd = new SqlCommand(sql,con);
con.Open();
cmd.ExecuteNonQuery();
con.Close(); HttpResponse.RemoveOutputCacheItem(Page.ResolveUrl("~/jobs.aspx"));
Response.Redirect("~/jobs.aspx");
}
就可以还一种情况
如果有多个页面都调用jobs数据并且都缓存了
上面的 HttpResponse.RemoveOutputCacheItem一次只能去除一个页面 我们就要用到Cache
在jobs.aspx中
protected void Page_Load(object sender, EventArgs e)
{
Cache.Insert("jobs", DateTime.Now);
Response.AddCacheItemDependency("jobs");
}
然后在addjobs中在添加操作后
Cache.Remove("jobs");
就ok了
如果另一个页面如jobsDetails.aspx
也缓存了jobs数据
也只要page_load中写
Response.AddCacheItemDependency("jobs");
也就同样会失去缓存
相关文章推荐
- ASP.NET 缓存(五)--使用文件依赖项缓存页输出http://www.opent.cn/?action=show&id=192
- Nginx设置Js、Css等静态文件的缓存过期时间
- 使用缓存配置文件以声明方式设置页的可缓存性
- 文件输入输出方式设置值
- 编程经验:由于路径设置引起的VS2010不能正确输出文件的bug~
- 设置Eclipse编辑器的默认文件打开方式
- 源码推荐(7.31):RENCache(文件缓存),头像设置,汉字拼音搜索
- eclipse中设置.class文件的输出路径及“java build path”的设置
- C#中缓存的简单方法及使用Sql设置缓存依赖项
- 如何编程方式设置301跳转?
- 配置maven下载jar包源码文件、拷贝依赖jar到lib包、设置编译时jdk版本、根据不同环境采用不同配置
- 缓存依赖(文件、数据库)
- 设置文件默认打开方式
- 接收get或post数据使用fwrite写入文件中,方便追踪错误;或其他几种缓存方式
- android 在应用的配置文件设置apk的安装路径,以下是安装到sdcard上的方式
- Session过期时间的四种设置方式
- 如何设置 ASP.NET 页缓存的过期时间值
- Java基础---Java---网络编程---TCP、UDP、UDP-键盘录入方式数据、Socket、TCP复制文件、UDP-聊天
- Session设置过期时间的几种方式分享
- 用Jsp输出Word,PDF等文件时进行的设置