Pour mettre en cache une page web, ou un contrôle utilisateur, on utilise la directive de page @outputcache
==> http://msdn.microsoft.com/library/fre/default.asp? url=/library/FRE/cpgenref/html/cpconOutputCache.as p
On peut avoir plusieurs caches différents. En spécifiant des valeurs pour varybycontrol : le cache change suivant un UC de la page pour varybyparam : le cache change en fonction d'un paramètre contenu dans la requete (via post ou get)
Mais comment faire varier le cache en fonction d'un autre paramètre, tel qu'une variable session, ou l'adresse du site ... en utilisant varybycustom.
Dans cet exemple je vous montre comment changer le cache suivant une variable session.
Tout d'abord il faut mettre la directive page et renseigner par quelle valeur personalisé on veut que le cache varie, dans notre cas la variable s'appelle langue.
<%@outputCache duration="120" varybyparam="" varybyCustom="langue" %>
Ensuite on surcharge GetVaryByCustomString du global.asax et c'est là qu'on donne une valeur pour la variable langue