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

小梦涩

小梦涩

2016-01-29 13:11

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

程序中图片是动态显示的
原先把打算把图片保存在服务器端然后显示
可是由于ie的缓存问题导致图片无法实时更新显示
所以改为把图片存在session中然后再显示
需要保存的时候再保存到本地
//--------------chart.ashx.cs-------------------
using System;
using System.Web.SessionState;
using System.IO;
using System.Web;
namespace WebApplication3
{
///
/// chart 的摘要说明。
///

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);
展开更多 50%)
分享

猜你喜欢

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

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

Ajax 解决ie缓存问题

Web开发
Ajax 解决ie缓存问题

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

小图片在PPT中的应用

电脑入门
小图片在PPT中的应用

IE cache缓存 所带来的问题收藏

Web开发
IE cache缓存 所带来的问题收藏

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

CSS设置的背景图片在IE7中点击消失

Web开发
CSS设置的背景图片在IE7中点击消失

AJAX初学:IE缓存页面的问题

Web开发
AJAX初学:IE缓存页面的问题

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

面向服务的体系结构概述

面向服务的体系结构概述

PHP入门速成

PHP入门速成
下拉加载更多内容 ↓