缓存ASP.NET HTTP Handler服务器和客户端的响应

Ber*_*mme 5 asp.net iis caching httphandler

是否可以在服务器和客户端上缓存http处理程序的响应?

这似乎没有做到这一点:

_context.Response.Cache.SetCacheability(HttpCacheability.Public); _context.Response.Cache.SetExpires(DateTime.Now.AddDays(7));

_context是作为IHttpHandler实现上的ProcessRequest方法的参数传递的HTTPContext.

有任何想法吗?

更新:客户端会缓存通过httphandler加载的图像,但如果另一个客户端执行相同的调用,则服务器尚未缓存它.因此,对于要求图像的每个客户端,服务器都会转到数据库(和文件流).如果我们使用aspx页面而不是httphandler和缓存配置文件,那么图像将缓存在客户端和服务器上.

Tim*_*res 3

感谢您在评论中的回答。

Cache.SetCacheability 用于定义是否允许代理或客户端缓存,而不是在服务器上。

查看IIS 7,其中解释了如何在服务器上缓存 HTTP 处理程序的输出。