Asp.net给从源中读取到的图片做缓存?

Asp.net给从流中读取到的图片做缓存????
后台的图片存储是以流的形式存储的,我在获取的时候先将图片传到一个处理文件(.ashx),然后返回得到一个图片的路径:


<img id="ContentPlaceHolder1_Repeater1_RptImageSmall_0_ImageSmall_1" src="../Controls/ShowImage.ashx?ID=d59cbfef-48ca-49e6-aefd-83e55a491186" style="height:33px;width:46px;" />


在本地的时候还蛮好的,看不出有什么(坏饿的体验)效果,但是放在服务器上的时候,图片加载的时候是一帧一帧地出来,怎样给做个缓存啊?在网上找到的图片缓存就两种:要么就是新建的.ashx,或者就是模仿qq说什么403什么的!!!

我现在有点蛋疼了:如果是用loading加载的话,单张还好说,那要是在repter中的呢???
跪求大神的到来!!!!


------解决方案--------------------
可以百度或者谷歌的加载方式,先加载缩略图,然后再大图
http://www.cnblogs.com/yubo2010/archive/2011/03/12/1982048.html
这个连接中有详细的说明
------解决方案--------------------
可以学习现在的那种先模糊在清晰的加载方式,这里有详细说明
http://www.cnblogs.com/yubo2010/archive/2011/03/12/1982048.html
另外你的图片要处理到合适的质量来显示,最好用jpeg压缩后的图片。
ps:如果在本地都能感觉到加载有问题那这个图不知道得多大了
------解决方案--------------------
浏览器本身是会缓存图片的,你自己在服务器上缓存,是个错误,数据使用每次都要传输的,反而导致性能的下降
------解决方案--------------------
搜索一下关于Etag的东西的,以前做过的,记的不是太清楚的了,

大概的思路就是当发现这个图片存在的,就直接回返304状态,这样浏览器会自己用缓存的
------解决方案--------------------
ETAG只能提升F5时候的显示效果要浏览器有缓存,你现在最需要的是图片服务器缓存。
你可以在第二次请求的时候将图片存为文件,下个用户访问时候就直接Response.File

ETAG稍微复杂点,必要性不是很大,你设置下客户端的过期时间比较长点就可以了