2009-04-23 8 views
1

Je ne sais pas pourquoi je n'arrive pas à faire fonctionner le simple cache de sortie et je ne suis pas sûr de savoir comment déboguer une telle situation.Mise au point de OutputCache dans ASP.Net

simplement de regarder des exemples et des projets précédents, j'ai travaillé, je le code suivant:

<%@ OutputCache Duration="100" VaryByParam="id" %> 

mais depuis cela ne fonctionne pas, j'ai essayé VaryByParam = « * » et VaryByParam = « none »

Aucune d'entre elles n'a fonctionné.

Y at-il des vérifications rapides pour s'assurer que quelque chose n'interfère pas avec OutputCache?

Répondre

2

Si vous essayez juste de voir si OutputCache fonctionne correctement, vous pouvez toujours ajouter une étiquette à votre page qui se lie juste au datetime actuel. La première fois que vous le chargez, il vous indique l'horodatage du moment où l'étiquette était liée.

La prochaine mise à jour de l'étiquette se fera après que le cache a expiré et que la page soit à nouveau frappée.

<%@ OutputCache duration="120" varybyparam="None" varybycustom="Browser" %> 


<asp:Label ID="Testlabel" runat="server" Text=""><%= DateTime.Now %></asp:Label> 
0

Vous ne mettez en cache que pendant 100 secondes, avez-vous essayé une valeur plus longue? Le démarrage du débogueur dans Visual Studio peut prendre 100 secondes (ou plus!). Avez-vous essayé sans le VaryByParam?

+5

Si le démarrage de votre débogueur prend 100 secondes ... le temps d'acheter une nouvelle machine! ;) – womp

+0

Ne pensez pas que le débogueur est un problème ... Parce que je me suis rafraîchi plusieurs fois (sans jamais toucher au code), donc s'il ne l'a pas mis en cache la première fois ... mettre en cache le suivant .. – TimLeung

0

Ceci est similaire à la réponse womps avec quelques corrections.

Si vous essayez simplement de voir si OutputCache fonctionne correctement, vous pouvez toujours inclure le datetime actuel. La première fois que vous le chargez, il vous indique l'horodatage du moment où l'étiquette était liée. En d'autres termes, le cache est amorcé. Si vous rechargez la page, la date doit être la même que la sortie est mise en cache. Une fois le cache expiré, l'heure de la date sera mise à jour à nouveau et le cycle se répètera.

<%@ OutputCache duration="120" varybyparam="None" %> 
<%= DateTime.Now %> 
Questions connexes