Comment : définir des valeurs d'expiration pour la mise en cache de page ASP.NET

Mise à jour : novembre 2007

Pour qu'une page soit ajoutée au cache de sortie, vous devez établir une stratégie d'expiration pour cette page. Vous pouvez configurer cette stratégie de façon déclarative ou par programme.

Pour définir de façon déclarative les délais d'expiration de cache de sortie d'une page

  • Incluez une directive @ OutputCache dans la page ASP.NET (fichier .aspx) dont vous souhaitez mettre la réponse en cache. Attribuez une valeur numérique positive à l'attribut Duration et une valeur à l'attribut VaryByParam.

    Remarque :

    La directive @ OutputCache affecte par défaut à l'en-tête Cache-Control la valeur Any.

    Par exemple, la directive @ OutputCache suivante définit un délai d'expiration de 60 secondes pour la page :

    <%@ OutputCache Duration="60" VaryByParam="None" %>
    
    Remarque :

    Vous devez inclure un attribut VaryByParam lors de l'utilisation de la directive @ OutputCache sans quoi une erreur d'analyse se produit. Si vous ne souhaitez pas utiliser la fonctionnalité proposée par l'attribut VaryByParam, assignez-lui la valeur "None". Pour plus d'informations, consultez Mise en cache de plusieurs versions d'une page.

Pour définir par programme les délais d'expiration de cache de sortie d'une page

  • Dans le code de la page, définissez la stratégie d'expiration de la page dans la propriété Cache de l'objet Response.

    Remarque :

    Si vous définissez les délais d'expiration d'une page par programme, vous devez également définir l'en-tête Cache-Control pour la page mise en cache. Pour ce faire, appelez la méthode SetCacheability et passez-lui la valeur d'énumération HttpCacheabilityPublic.

    L'exemple de code suivant définit la même stratégie de cache que la directive @ OutputCache de la procédure précédente.

    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
    Response.Cache.SetCacheability(HttpCacheability.Public);
    Response.Cache.SetValidUntilExpires(true);
    
    Response.Cache.SetExpires(DateTime.Now.AddSeconds(60))
    Response.Cache.SetCacheability(HttpCacheability.Public)
    Response.Cache.SetValidUntilExpires(True)
    

    Une fois le délai d'expiration de la page mise en cache écoulé, la demande suivante relative à cette page reçoit une réponse générée dynamiquement. Cette page de réponse est mise en cache pour la durée spécifiée.

Voir aussi

Tâches

Comment : définir la capacité de mise en cache d'une page ASP.NET de manière déclarative

Comment : définir la capacité de mise en cache d'une page par programme

Concepts

Mise en cache de pages ASP.NET

Définition de la capacité d'une page à être mise en cache