paginacion net mvc filtros filtro datos busqueda buscar buscador asp asp.net-mvc caching iis http-headers

filtros - ¿Cómo especificar el encabezado de caducidad de HTTP?(ASP.NET MVC+IIS)



paginacion mvc razor (3)

Ya estoy usando el almacenamiento en caché de resultados en mi aplicación ASP.NET MVC.

La velocidad de la página me indica que especifique la caducidad del caché HTTP para css e imágenes en el encabezado de respuesta.

Sé que el objeto Response contiene algunas propiedades que controlan la caducidad de la caché. Sé que estas propiedades se pueden usar para controlar el caché de HTTP para la respuesta que estoy sirviendo desde mi código:

Response.Expires Response.ExpiresAbsolute Response.CacheControl

o alternativamente

Response.AddHeader("Expires", "Thu, 01 Dec 1994 16:00:00 GMT");

La pregunta es ¿cómo configuro el encabezado Expira para los recursos que se sirven automáticamente, por ejemplo, imágenes, css y demás?


Lo encontré:

Necesito especificar el caché del cliente para el contenido estático (en web.config).

<configuration> <system.webServer> <staticContent> <clientCache cacheControlCustom="public" cacheControlMaxAge="12:00:00" cacheControlMode="UseMaxAge" /> </staticContent> </system.webServer> </configuration>

de http://www.iis.net/ConfigReference/system.webServer/staticContent/clientCache



Si desea hacerlo desde el código de un recurso que está devolviendo (es decir, no un archivo estático que se sirve desde IIS), es mejor que use Response.Cache :

Response.Cache.SetExpires(DateTime.Now.AddYears(1)); Response.Cache.SetCacheability(HttpCacheability.Public);

Sé que eso no es exactamente lo que estás pidiendo, pero encontré esta pregunta a través de Google e imagino que a otros podría gustarles esta respuesta, ya que está relacionada con las API que muestras en el texto original de la pregunta.