Je viens de commencer à utiliser OutputCache sur certaines de mes actions de contrôleur et je ne reçois pas tout à fait la réponse à laquelle je m'attendais.ASP.NET MVC: En-têtes OutputCache et http - Cache-Control
En fait, je l'ai défini Localisation = OutputCacheLocation.Any et l'en-tête http est la suivante:
Server ASP.NET Development Server/9.0.0.0
Date Wed, 15 Jul 2009 02:14:21 GMT
X-AspNet-Version 2.0.50727
X-AspNetMvc-Version 1.0
Content-Encoding gzip
Cache-Control private, max-age=3600
Expires Wed, 15 Jul 2009 02:14:21 GMT
Last-Modified Wed, 15 Jul 2009 02:14:20 GMT
Vary *
Content-Type text/html; charset=utf-8
Content-Length 640
Connection Close
Maintenant, si mon interprétation est correcte la partie Cache-Control étant réglé sur des moyens privés qu'il ne sera mis en mémoire cache sur le client. Je dois également être mis en cache sur n'importe quel proxy.
Je m'attendais à ce que en définissant OutputCacheLocation.Any le Cache-Control aurait été quelque chose comme "public, max-age = 3600". Pour autant que je sache les moyens privés, il sera seulement mis en cache sur le client et non par "Tout" (c'est-à-dire les proxies - voir http://msdn.microsoft.com/en-us/library/system.web.httpcacheability.aspx).
Des idées?
Vive Anthony
Avez-vous essayé de publier votre site sur IIS et d'y regarder les en-têtes? Est-ce la même chose que sur le serveur de développement? – womp
Non, j'ai seulement essayé dans VS atm. Pensez-vous qu'il y aurait une différence? –
Quand je l'ai mis sur le site d'essai, il est allé au public. –