Le but de ce Lab est de présenter les différentes techniques de mise en cache en
ASP.NET.
Exercice 1 – Cache de sortie de page
- Créer une nouvelle application Web ASP.NET en Visual Basic : « 07VBCaching »
- Ajouter 1 label à la page « WebForm1.aspx » - Dans le code HTML, ajouter la directive suivante tout en haut de la page : <%@ OutputCache Duration="10" VaryByParam="none" %>
- Dans le « Page_Load » du code behind, afficher l’heure courante dans le label :
Label1.Text = "Dernière génération de la page : " & Now
- Compiler et afficher la page.
- Actualiser la page plusieurs fois - Constater que la page affichée est la page mise en cache. Une nouvelle version de la page est générée toutes les 10 secondes.
- Ajouter maintenant 2 hyperlinks à la page.
- Préciser la propriété « NavigateUrl » comme suit : o HyperLink1 : « WebForm1.aspx?myColor=red » o HyperLink2 : « WebForm1.aspx?myColor=blue » - Préciser la propriété « Text » comme suit : o HyperLink1 : « Rouge » o HyperLink2 : « Bleu » - Dans le code HTML, modifier la directive OutputCache. Mettre « Duration=30 » et « VaryByParam="myColor" » - Modifier le « Page_Load » de la manière suivante :
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Label1.Text = "Dernière génération de la page : " & Now
If Request.QueryString("myColor") <> "" Then
Label1.ForeColor = Color.FromName(Request.QueryString("myColor")) End If End Sub
- Compiler et afficher la page.
- Cliquer sur le lien « Rouge » et noter l’heure de génération de la page. - Cliquer sur le lien « Bleu » et noter qu’une nouvelle version de la page a été créée bien que les 30 secondes de caching ne soient pas encore écoulées. Grâce à l’attribut VaryByParam="myColor" une page est mise en cache pour chaque valeur du paramètre « myColor ».
Page 1 sur 2 Labs ASP.NET v1.1 Aurélien Norie & Sébastien Bovo [Microsoft]
Exercice 2 – Cache par fragments de page
- Ajouter un contrôle Web utilisateur à l’application
- Dans le code HTML, ajouter la directive suivante tout en haut de la page : <%@ OutputCache Duration="10" VaryByParam="none" %> - Ajouter un Label au contrôle - Dans le « Page_Load » du code behind, afficher l’heure courante : Label1.Text = "Dernière génération du contrôle : " & Now - Modifier le caching de la page ASPX afin de ne la mettre en cache que 5 secondes au lieu de 30 - Ajouter le contrôle à la page « WebForm1.aspx » - Générer le projet et naviguer sur la page ASPX. - Constater que le contrôle Web utilisateur est mis en cache 10 secondes alors que le reste de la page est régénéré toutes les 5 secondes.