也就是说,如果在程序代码中设置客户端图片缓存时间,比如第一次加载图片后,以后很长一段时间,内不须重复加载,因为有缓存(有些网游里都有这种用法).我听说好像要在HTML代码的头文件里设置
解决方案 »
- Ado.Net从 Sqlserver误读数据难题
- txt内容自动填充到网页
- <form id="form1" runat="server">前台浏览的时候会加一个name="form1"?
- asp.net上传图片 预览功能`制定 上传图片的大小
- 求一个简单的Xpath, 在线等ing.................
- 用js创建的Cookie怎样在cs代码中读取?
- .net WebClient抓取google收录问题
- 新手问题,请各位帮看看!谢谢!!
- 继承datagird的问题
- 请教用VS环境开发的ASP.NET的发布问题(200分送上!)
- 查找oracle一定时间范围的sql语句怎么写?
- 关于GridView的事件问题,deleted和deleting,之类的区别
cache["key"] = "value"; cache.insert();你还是自己看吧,http://www.sudu.cn/info/html/edu/net/20071226/26662.html
如果说是整 个页面 缓存 是最简单的
在 页面 最上面加上这个
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="P_Cache.aspx.cs"Inherits="Chapter14_P_Cache" %>
//这个是缓存的时间 单位是秒 这个是 是否受参数影响
<%@ OutputCache Duration="30" VaryByParam="none" %>
如果说是要 局部缓存的话
你把你 那个 展示 图片的 部分 封装成一个 用户控件
在后台 动态的 给它 设置缓存时间 //动态加载缓存控件
PartialCachingControl pcc = (PartialCachingControl)this.LoadControl ("UC_Cache_Code.ascx"); //设置失效时间
pcc.CachePolicy.SetExpires(DateTime.Now.AddSeconds(30));
this.Controls.Add(pcc);
<meta http-equiv="Cache-Control" content="max-age=7200" />
<meta http-equiv="Expires" content="Mon, 20 Jul 2010 23:00:00 GMT" /> 但这种方法可能不会对图片有效果。如果需要对图片有效果,一般应该要在IIS中配置HTTP头。
当然,如果你用asp.net的ihttphander来处理图片请求,应该可以自定义Cache-Control与expires
不过在第一次请求图片时,服务器消耗会大于普通方式。以上主要是对于浏览器的前进 后退有效。如果执行了“刷新”动作,我们需要处理lastmodified时间以及服务器的304代码状态。那又是另一回事了。