Comment spécifier l’en-tête d’expiration HTTP? (ASP.NET MVC + IIS)

J’utilise déjà la mise en cache de sortie dans mon application ASP.NET MVC.

La vitesse de la page m’indique de spécifier l’expiration du cache HTTP pour CSS et les images dans l’en-tête de réponse.

Je sais que l’object Response contient des propriétés qui contrôlent l’expiration du cache. Je sais que ces propriétés peuvent être utilisées pour contrôler la mise en cache HTTP pour la réponse que je diffuse de mon code:

Response.Expires Response.ExpiresAbsolute Response.CacheControl 

Ou bien

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

La question est de savoir comment définir l’en-tête Expires pour les ressources qui sont servies automatiquement, par exemple les images, les CSS et autres?

Trouvé:

Je dois spécifier le cache client pour le contenu statique (dans web.config).

        

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

Si vous voulez le faire à partir du code d’une ressource que vous retournez (c’est-à-dire, pas un fichier statique servi depuis IIS), il est préférable d’utiliser Response.Cache :

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

Je sais que ce n’est pas exactement ce que vous demandez, mais j’ai trouvé cette question via Google et je pense que d’autres pourraient aimer cette réponse car elle est liée aux API que vous affichez dans le texte original de la question.

Regardez le mini projet de livraison de contenu statique . 🙂