2010-03-03 5 views
2

J'ai une application ASP.NET, et j'essaie de sortir le cache d'une certaine page, mais à chaque requête, le débogueur continue d'utiliser la méthode OnLoad et j'obtiens une réponse 200.Qu'est-ce qui empêcherait ASP.NET de mettre en cache la sortie?

Je l'ai placé la directive cache de sortie sur une page comme ceci:

<%@ OutputCache Duration="60" VaryByParam="None" %> 

et a assuré que j'ai le module OutputCache

<add name="OutputCache" type="System.Web.Caching.OutputCacheModule"/> 

et aussi contournée réécriture d'URL juste au cas où. J'ai essayé ceci en utilisant Cassini et IIS 5.1 (XP), cependant la page ne cache pas du tout.

Y a-t-il d'autres facteurs que je n'ai pas examinés et qui pourraient affecter cette fonctionnalité?

Merci

Répondre

4

J'ai eu le même problème. Je trouve cette ligne de code appelé lors de la manipulation de la demande que je ne pouvais pas le cache:

Response.Cache.SetCacheability(HttpCacheability.NoCache); 

Commentant ceci fait la mise en cache de sortie commencer à travailler à nouveau. J'aurais deviné que la ligne ci-dessus n'affecterait que les en-têtes envoyés au client/navigateur. Assurez-vous que rien de tel n'est exécuté à aucun moment du cycle de vie de la page.