2009-07-15 9 views
3

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

+0

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

+0

Non, j'ai seulement essayé dans VS atm. Pensez-vous qu'il y aurait une différence? –

+0

Quand je l'ai mis sur le site d'essai, il est allé au public. –

Répondre

1

Voir les commentaires ci-dessus pour la solution

EDIT

Ce commentaire a été considéré comme la réponse:

Avez-vous essayé publier votre site à IIS et à la recherche aux en-têtes là? Est-ce la même chose que sur le serveur de développement? -

+9

euh, dans quel univers est-ce considéré comme une réponse? –

+0

@Rock: L'OP n'a pas de représentant pour répondre à sa propre question. –

+1

ah, bon appel. Je n'ai pas cherché à voir qui posait la question. Encore ne devrait pas être une "réponse" valide dans les archives SO. –