¿Es posible almacenar en caché la respuesta de un controlador http en el servidor y en el cliente?Almacenamiento en caché de la respuesta de un servidor ASP.NET HTTP Handler y del lado del cliente
Esto no parece estar haciendo el truco:
_context.Response.Cache.SetCacheability (HttpCacheability.Public); _context.Response.Cache.SetExpires (DateTime.Now.AddDays (7));
El _context es el HTTPContext pasado como argumento para el método ProcessRequest en la implementación de IHttpHandler.
¿Alguna idea?
Actualización: El cliente almacena en caché las imágenes que se cargan a través del httphandler, pero si otro cliente hace la misma llamada, el servidor no lo ha almacenado en caché. Entonces, para cada cliente que solicita la imagen, el servidor va a la base de datos (y a la extensión de archivos). Si usamos una página aspx en lugar de un httphandler junto con un perfil de almacenamiento en caché, entonces las imágenes se almacenan en caché tanto en el cliente como en el servidor.
¿Ha intentado usar Fiddler para comprobar que los encabezados realmente están en el paquete recibido en el cliente? – Timores
@Timores El cliente hace caché de llamadas al controlador, pero si otro cliente hace la misma llamada, el servidor no lo almacena en caché. –