我不擅长提出一个问题,请随意改写/重新命名,以使其更容易理解。感谢。
我有一个图像代理页面帮助我处理所有带有自定义操作值的产品图像请求。例如:
http://mysite.com/ImageProxy.aspx?id={ITEM ID}&width={WIDTH}&height={HEIGHT}&gloss={GLOSS}&reflection={REFLECTION}
为减少服务器端负载,我通过保存已生成图像的文件进行缓存,以便在调用具有相同操作值的相同产品时重复使用。
这在开始时有效,但在单个页面中显示更多图像时速度会变慢。 我想知道如何改善这种情况,或者图像代理往往因其自然而变慢?
*已编辑:*
我:
ASP.NET MVC
System.Drawing.Drawing2D
,System.Drawing.Imaging
来操纵图片。 答案 0 :(得分:3)
试试这个:
// GetCacheFileName -> Returns the full path of the "cached" image
// CreateImage -> Used to create a new image if necessary
string cacheFile = GetCacheFileName(param1, param2, param3, param4);
if (!File.Exists(cacheFile))
{
Image cacheImage = CreateImage(param1, param2, param3, param4);
cacheImage.Save(cacheFile, ImageFormat.Jpeg);
}
Response.ContentType = "image/jpeg";
Response.TransmitFile(cacheFile);
这里要注意的两件事是: