【发布时间】:2011-01-26 11:14:36
【问题描述】:
是否可以在服务器和客户端缓存 http 处理程序的响应?
这似乎不起作用:
_context.Response.Cache.SetCacheability(HttpCacheability.Public); _context.Response.Cache.SetExpires(DateTime.Now.AddDays(7));
_context 是作为参数传递给 IHttpHandler 实现上的 ProcessRequest 方法的 HTTPContext。
有什么想法吗?
更新:客户端确实缓存了通过 httphandler 加载的图像,但如果另一个客户端执行相同的调用,则服务器没有缓存它。因此,对于每个请求图像的客户端,服务器都会转到数据库(和文件流)。如果我们使用 aspx 页面而不是 httphandler 和缓存配置文件,那么图像会同时缓存在客户端和服务器上。
【问题讨论】:
-
您是否尝试过使用 Fiddler 来检查标头是否真的在客户端收到的数据包中?
-
@Timores 客户端会缓存对处理程序的调用,但如果另一个客户端执行相同的调用,则服务器不会缓存它。
标签: asp.net iis caching httphandler