来者有分,WEB开发中如何设置客户端图片保存时间(即图片缓存时间)?

jingkunli 2010-06-13 03:10:30
也就是说,如果在程序代码中设置客户端图片缓存时间,比如第一次加载图片后,以后很长一段时间,内不须重复加载,因为有缓存(有些网游里都有这种用法).我听说好像要在HTML代码的头文件里设置
...全文
518 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
kuangguozhong 2010-12-07
  • 打赏
  • 举报
回复
不知道哪位知道怎么配置gwc缓存时间?
jingkunli 2010-07-01
  • 打赏
  • 举报
回复
谢谢大家,结贴给分!
Seven_lau 2010-06-14
  • 打赏
  • 举报
回复
学习。
newdigitime 2010-06-14
  • 打赏
  • 举报
回复
如果想自定义设置客户端网页的缓存,可以:
<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代码状态。那又是另一回事了。
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 multi_server 的回复:]
js可以完成
[/Quote]

这就太远了吧!
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 s_trance 的回复:]
<%@ outputcache duration="60" varybyparam="*" %>  

  该示例将缓存用户控件 60 秒,并且将针对查询字符串的每个变动、针对此控件所在的每个页面创建独立的缓存条目。  

  <%@ outputcache duration="60" varybyparam="none"

  varybycontrol="categorydr……
[/Quote]

lz说的不是这个东西。
骑猪看海 2010-06-14
  • 打赏
  • 举报
回复
学习下
qq315644526 2010-06-14
  • 打赏
  • 举报
回复
你那 只要局部的 图片缓存 还是说整个 页面 缓存 ?
如果说是整 个页面 缓存 是最简单的
在 页面 最上面加上这个

<%@ 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);


multi_server 2010-06-14
  • 打赏
  • 举报
回复
js可以完成
jingkunli 2010-06-14
  • 打赏
  • 举报
回复
我试试先
jiezi316 2010-06-13
  • 打赏
  • 举报
回复
好像和浏览器有关,和程序关系不大
rui90102 2010-06-13
  • 打赏
  • 举报
回复
jf !
S_trance 2010-06-13
  • 打赏
  • 举报
回复
<%@ outputcache duration="60" varybyparam="*" %>  

  该示例将缓存用户控件 60 秒,并且将针对查询字符串的每个变动、针对此控件所在的每个页面创建独立的缓存条目。  

  <%@ outputcache duration="60" varybyparam="none"

  varybycontrol="categorydropdownlist" %>  

  该示例将缓存用户控件 60 秒,并且将针对 categorydropdownlist 控件的每个不同的值、针对此控件所在的每个页面创建独立的缓存条目。  


cache["key"] = "value";  

cache.insert();

你还是自己看吧,http://www.sudu.cn/info/html/edu/net/20071226/26662.html

  • 打赏
  • 举报
回复
在IIS->网站属性->设置
kurorolove 2010-06-13
  • 打赏
  • 举报
回复
MARK
bin0403 2010-06-13
  • 打赏
  • 举报
回复
补习……

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧