服务器端缓存不适用于HttpHandler

时间:2010-03-15 08:32:08

标签: asp.net iis caching httphandler

如果我们使用带有缓存配置文件的aspx页面,则服务器会缓存使用aspx页面加载的图像。因此,如果十个客户端通过aspx页面(相同的URL)加载相同的图像,则对于一个客户端,图像将从数据库中获取,对于其他九个客户端,它将被缓存。

当我们使用HttpHandler时,这不会发生。始终从数据库中提取图像。我们尝试了所有不同的设置而没有任何成功。 (我们检查了this链接,但无法在服务器端缓存。)

1 个答案:

答案 0 :(得分:1)

我无法根据使用缓存配置文件的经验回答,所以我不确定这是否有帮助。

在幕后,ASP.NET WebForms由HttpHandlers驱动 - 由MS编写(正如您所期望的那样)。当您编写自己的Http Handler时,您不会自动获得System.Web.UI.PageHandlerFactory处理程序具有的所有功能(默认情况下为.aspx页面/请求之后) - 您必须将其带入(或者发展它自己。

也许这就是你遇到的问题 - 可能是aspx页面正在利用缓存配置文件功能,因为System.Web.UI.PageHandlerFactory已经开箱即用“集成”了,就像你写的那样你自己就是不存在(默认情况下) - 因此它们不起作用。