消除图片在ie中缓存而无法更新的问题

原创 2004年09月20日 17:44:00

程序中图片是动态显示的

原先把打算把图片保存在服务器端然后显示

可是由于ie的缓存问题导致图片无法实时更新显示

所以改为把图片存在session中然后再显示

需要保存的时候再保存到本地

//--------------chart.ashx.cs-------------------

using System;
using System.Web.SessionState;
using System.IO;
using System.Web;

namespace WebApplication3
{
 /// <summary>
 /// chart 的摘要说明。
 /// </summary>
 public class ChartHandler : IHttpHandler, IReadOnlySessionState
 {
  public bool IsReusable
  {
   get { return true; }
  }
   
  public void ProcessRequest (HttpContext ctx)
  {
   string chartID = ctx.Request.QueryString[0];
   Array arr = (Array) ctx.Session [chartID];

   ctx.ClearError ();
   ctx.Response.Expires = 0;
   ctx.Response.Buffer = true;
   ctx.Response.Clear ();

   MemoryStream memStream = new MemoryStream ((byte[])arr);
   memStream.WriteTo (ctx.Response.OutputStream);
   memStream.Close ();

   ctx.Response.ContentType = "image/gif";
   ctx.Response.StatusCode = 400;
   ctx.Response.End ();

  }
 }
}

   //--------------chart.ashx   只需要如下一行---------------

<% @ WebHandler language="C#" class="WebApplication3.ChartHandler" codebehind="chart.ashx.cs" %>

//WebApplication3为命名空间

//ChartHandler为chart.ashx.cs中类的名字 

 

//--------------调用说明-----------------

//需要把图片存到byte数组中 假设为byteArr  则

   // ------------------------------------------------------------------------
   //把图片储存在session里面
   // ------------------------------------------------------------------------
   HttpContext     ctx = HttpContext.Current;
   string          chartID = Guid.NewGuid ().ToString ();
           
   ctx.Session [chartID] = byteArr;
   Image1.ImageUrl = string.Concat ("chart.ashx?", chartID);

 

消除图片在ie中缓存而无法更新的问题

程序中图片是动态显示的原先把打算把图片保存在服务器端然后显示可是由于ie的缓存问题导致图片无法实时更新显示所以改为把图片存在session中然后再显示需要保存的时候再保存到本地//----------...
  • 21aspnet
  • 21aspnet
  • 2004年10月26日 19:03
  • 2873

IE浏览器因缓存问题未能成功向后端发送请求的几个解决办法

这段时间前后端联调,解决IE、谷歌等浏览器兼容问题,真是让人有点焦头烂额,各种奇葩问题层出不穷,旧问题刚去,新麻烦又来,其中尤其以IE浏览器缓存的问题最多。有若干次都是因为这个缓存,使得前端的请求没有...
  • tuzongxun
  • tuzongxun
  • 2016年05月09日 18:20
  • 1761

浏览器缓存问题

转载地址 浏览器缓存是很重要的,一次交互,有95%以上的时间是在处理前端的,如果能提高前端的性能,对提高整个系统的性能是很有帮助的。本专题主要讲的是如何更好地使用浏览器缓存,同时包括了一些今后浏...
  • zyuzixiao
  • zyuzixiao
  • 2014年05月20日 01:35
  • 5928

解决ajax调用中ie的缓存问题

解决ajax调用中ie的缓存问题 ajax请求调用的过程中发现的问题:后台请求是一个简单的.aspx文件,而这个页面又没有考虑过缓存的影响,使用ajax调试的时候发现有时候根本不走后台代码直接返回结...
  • u013430672
  • u013430672
  • 2014年06月17日 17:52
  • 571

【IE Cache】IE浏览器造成的请求Cache问题 的解决方案

对于普通的静态文件,html、css、js和图片文件而言,是希望浏览器进行缓存,以便再次访问时直接从浏览器获取,减少请求。 对于其它的js请求而言,如果被浏览器缓存了,而不能实时获取到最新的数据是...
  • snow_finland
  • snow_finland
  • 2016年05月25日 14:11
  • 1343

IE8浏览器缓存问题导致Ajax的GET请求只能执行一次的解决办法

最近在测试兼容性问题的时候发现,使用Ajax的GET请求向后台获取响应结果时,如果是IE8浏览器,第一次发送请求时会得到正常的返回结果,然后当再去发送相同请求访问后台时,得到的结果总是第一次请求返回的...
  • DeveloperFanyl
  • DeveloperFanyl
  • 2015年09月25日 16:06
  • 4885

AJAX 缓存问题的两种解决方法(IE)

做一个项目用到Ajax,开始觉得挺好,后来发现一个问题,例如删除一项,恢复之后就不能再接着删除, 必须要等一段时间,后来知道是IE缓存的问题 AJAX缓存页面是一个刚接触AJAX的人一定会遇到的问...
  • yaoyaoopen
  • yaoyaoopen
  • 2013年12月23日 16:56
  • 1448

虽然Png本身不失真,但是IE显示的时候失真

IE对JPG,GIF,BMP图片的显示是真实的,唯有对PNG图片显示会失真 测试火狐3.63浏览器,对Png的显示没有失真。 ( 也不能算是失真,而是颜色配改变了: 1、对于从...
  • xiuzhentianting
  • xiuzhentianting
  • 2015年09月16日 11:48
  • 1096

解决浏览器缓存问题

1,引题    什么是缓存,就不用解释了, 大家在更新CSDN博客时经常遇到的问题,很头疼. 如何解决浏览器的缓存问题,看例子. 2,例子 一个访问页面计数器的小例子(效果:每点击一次按钮,访问次数+...
  • hanxuemin12345
  • hanxuemin12345
  • 2013年12月20日 09:40
  • 2669

浏览器缓存机制及一些缓存问题解决方法

参考:http://bbs.csdn.net/topics/330028896
  • xiaohaoyao
  • xiaohaoyao
  • 2014年11月12日 11:31
  • 6979
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:消除图片在ie中缓存而无法更新的问题
举报原因:
原因补充:

(最多只允许输入30个字)