也就是说,如果在程序代码中设置客户端图片缓存时间,比如第一次加载图片后,以后很长一段时间,内不须重复加载,因为有缓存(有些网游里都有这种用法).我听说好像要在HTML代码的头文件里设置

解决方案 »

  1.   

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

  2.   

    你那 只要局部的 图片缓存  还是说整个 页面 缓存 ?
     如果说是整 个页面 缓存 是最简单的 
      在 页面 最上面加上这个
      
        <%@ 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);  
       
      

  3.   

    如果想自定义设置客户端网页的缓存,可以:
    <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代码状态。那又是另一回事了。
      
      

  4.   

    不知道哪位知道怎么配置gwc缓存时间?