Le OutputCacheFilter de Microsoft MVC Preview 4 enregistre-t-il réellement les invocations d'actions ?

StackOverflow https://stackoverflow.com/questions/10661

Question

Nous avons déployé un site dynamique, frais et chic en utilisant l'aperçu 3, y compris des tests de résistance rigoureux.

La mise en cache de la sortie de page a été notre sauveur et nous a permis de répondre à nos exigences contractuelles de performance.

Ma question est la suivante : y a-t-il une différence entre l'action OutputCacheFilter et mise en cache de sortie de page ?

La mise en cache de la sortie d’action est-elle plus rapide que la mise en cache de la sortie de page ?

Était-ce utile?

La solution

En interne, OutputCacheAttribute (alias filtre de cache de sortie) utilise le même mécanisme interne que mise en cache de sortie de page (alias la directive @OutputCache).

Par conséquent, ce n’est pas plus rapide que la mise en cache de sortie de page.Cependant, avec MVC, vous ne pouvez vraiment pas utiliser la mise en cache de sortie de page via la directive @OutputCache dans MVC car nous rendons la vue (alias page) après l'action se déroule.Vous n’en tirerez donc que très peu d’avantages.

Avec le filtre du cache de sortie, il fait la bonne chose et n'exécute pas le code d'action si le résultat est dans le cache de sortie.J'espère que cela pourra aider.:)

Autres conseils

Sachez simplement qu'il existe actuellement un bug si vous appelez Html.RenderAction(..) sur une action marquée pour être mise en cache.Au lieu que l'action spécifique soit mise en cache, la page entière est mise en cache.J'ai déjà signalé cela sur codeplex et cela semble être un problème connu :Appel de <% HTML.RenderAction<...>(...);%> à une action avec [OutputCache(..)] provoque la mise en cache de la page entière.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top