用于检索大量二进制图像的.ashx处理程序的性能

Ant*_*tov 5 database asp.net performance blob httphandler

我使用.ashx处理程序从数据库中获取图像.我想以这种方式检索大量图像(> 1000):

    <img src='GetImage.ashx?id= <%# Eval("id") %>'/>
Run Code Online (Sandbox Code Playgroud)

(为什么我这样做你可以理解,如果阅读我之前的问题:将数据库图像绑定到.ascx中的ItemTemplate).我担心multipiles数据库查询(第一个查询获取所有id,所有其他人一个接一个地获取图像)很多时候,是吗?有哪些可能的解决方案

Ari*_*tos 3

首先,浏览器不会同时询问所有图像,而是一次询问很少的图像。

其次,处理程序不使用会话,因此它不会锁定对方,因此可以为图像调用完成并行过程。

我建议额外添加浏览器缓存,这样当它加载图像时就不会再询问它。

一个例子:

context.Response.Cache.SetExpires(DateTime.Now.AddMinutes(120));
context.Response.Cache.SetMaxAge(new TimeSpan(0, 120, 0));
Run Code Online (Sandbox Code Playgroud)

但您可以添加更积极的缓存。

一个类似的问题:调用aspx页面随机返回一张图片慢