Il existe un moyen de définir par programmation la durée de la mise en cache des pages, mais je ne suis pas sûr que 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
Vous pouvez également ajouter un Attribut PartialCaching() à un contrôle utilisateur pour définir la mise en cache :
[PartialCaching(120)]
public partial class CachedControl : System.Web.UI.UserControl
{
// Class Code
}
Je ne suis pas sûr de la façon dont cela pourrait être manipulé par programme, mais cela pourrait vous donner quelques idées.