2010-03-15 129 views
0

如果我们使用带有缓存配置文件的aspx页面,服务器会缓存使用aspx页面加载的图像。因此,如果十个客户端通过aspx页面(相同的url)加载相同的图像,对于一个客户端,图像从数据库中获取,对于另外9个客户端则被缓存。服务器端缓存不支持HttpHandler

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

回答

1

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

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

也许这是你的问题 - 也许缓存配置文件的功能正在被aspx页面所利用,因为System.Web.UI.PageHandlerFactory已经与其开箱“集成”了,因为当你写你自己的他们只是不存在(默认) - 因此他们不工作。