gpt4 book ai didi

asp.net - 缓存 http 处理程序 .ashx 输出

转载 作者:行者123 更新时间:2023-12-05 00:42:55 24 4
gpt4 key购买 nike

我创建了一个包含一些文本的图像,对于每个客户,图像包含他们的名字,我使用 Graphics.DrawString 函数来动态创建它,但是我不需要多次创建这个图像,仅仅是因为客户的名字应该几乎不会改变,但我不想将它存储在磁盘上。

现在我正在处理程序中创建图像,即:

<asp:Image ID="Image1" runat="server" ImageUrl="~/imagehandler.ashx?contactid=1" />

缓存返回的图像的最佳方法是什么?我应该缓存它创建的位图吗?或者缓存我传回的流?我应该使用哪个缓存对象,我认为有很多不同的方法?但是输出缓存不适用于 http 处理程序,对吗?推荐的方式是什么? (我不关心在客户端缓存,我在服务器端)谢谢!

最佳答案

我能想到的最简单的解决方案是在图像处理程序中创建 Bitmap 对象后,将它缓存在 HttpContext.Cache 中。

private Bitmap GetContactImage(int contactId, HttpContext context)
{
string cacheKey = "ContactImage#" + contactId;
Bitmap bmp = context.Cache[cacheKey];

if (bmp == null)
{
// generate your bmp
context.Cache[cacheKey] = bmp;
}

return bmp;
}

关于asp.net - 缓存 http 处理程序 .ashx 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1669975/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com