2010-04-07 6 views

Répondre

5

Il y a une façon de mettre en programmation la durée du cache des pages, mais je ne sais pas si cela fonctionne pour la mise en cache partielle des contrôles utilisateur:

Response.Cache.SetExpires(DateTime.Now.AddSeconds(60)); 
Response.Cache.SetCacheability(HttpCacheability.Public); 
Response.Cache.VaryByParams["Category"] = true; 
Response.Cache.SetNoServerCaching(); 

Voir http://support.microsoft.com/kb/323290

Y ous pouvez également ajouter un PartialCaching() attribute à un contrôle utilisateur pour définir la mise en cache:

[PartialCaching(120)] 
public partial class CachedControl : System.Web.UI.UserControl 
{ 
    // Class Code 
} 

Bien que je ne sais pas comment cela pourrait être manipulé par programme, mais il pourrait vous donner quelques idées.

+0

+1. C'est à travers la recherche que je suis tombé sur cette question et j'ai résolu ma propre question. Je voulais juste confirmer que la troisième ligne ci-dessus: Response.Cache.VaryByParams ["Category"] = true; s'il est omis, la mise en cache ne fonctionnera pas. En outre, en utilisant la directive <% Output %>, nous devons spécifier l'attribut VaryByParam, sinon il lèvera une exception. –

Questions connexes