outputCache, élément de caching (Schéma des paramètres ASP.NET)
Spécifie des paramètres de cache de sortie au niveau de l'application.
<outputCache enableOutputCache="true|false"
enableFragmentCache="true|false"
sendCacheControlHeader="true|false"
omitVaryStar="true|false"
defaultProvider="AspNetInternalProvider">
</outputCache>
Attributs et éléments
Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.
Attributs
Attribut |
Description |
---|---|
enableOutputCache |
Attribut Boolean facultatif. Active/désactive le cache de sortie de page. S'il est désactivé, aucune page n'est mise en cache indépendamment des paramètres de programmation ou déclaratifs. La valeur par défaut est true. |
enableFragmentCache |
Attribut Boolean facultatif. Active/désactive le cache de fragment de l'application. S'il est désactivé, aucune page n'est mise en cache indépendamment de la directive @ OutputCache ou du profil de mise en cache utilisé. Inclut un en-tête Cache-Control indiquant que des serveurs proxy amont ainsi que des clients de navigateur ne doivent pas tenter de mettre en cache la sortie de page. La valeur par défaut est false. |
sendCacheControlHeader |
Attribut Boolean facultatif. Obtient ou définit une valeur qui indique si l'en-tête cache-control:private est envoyé par défaut par le module de cache de sortie. La valeur par défaut est false. |
omitVaryStar |
Attribut Boolean facultatif. Active/désactive l'envoi d'un en-tête HTTP "Vary: *" dans la réponse. Lorsque le paramètre par défaut est false, un en-tête "Vary: * " est envoyé pour les pages mises en cache de sortie. La valeur par défaut est false. |
defaultProvider |
Attribut de chaîne facultatif. Obtient ou définit le fournisseur de cache de sortie par défaut. La valeur par défaut est « AspNetInternalProvider ». Il s'agit du cache en mémoire fourni par ASP.NET. |
Éléments enfants
Élément |
Description |
---|---|
providers |
Élément enfant facultatif qui peut être utilisé pour configurer des fournisseurs de cache de sortie personnalisés. |
Éléments parents
Élément |
Description |
---|---|
configuration |
Élément racine requis dans chaque fichier de configuration utilisé par le Common Language Runtime et les applications .NET Framework. |
system.web |
Spécifie l'élément racine pour les paramètres de configuration ASP.NET dans un fichier de configuration. Contient des éléments de configuration qui configurent les applications Web ASP.NET et contrôlent le comportement des applications. |
caching |
Configure les paramètres du cache pour une application Web. |
Notes
Configuration par défaut
L'élément outputCache par défaut suivant n'est pas configuré explicitement dans le fichier de configuration machine ou dans le fichier racine Web.config, mais il s'agit de la configuration par défaut retournée par une application dans le .NET Framework version 2.0.
<outputCache enableOutputCache = "true"
enableFragmentCache = "true"
sendCacheControlHeader = "true"
omitVaryStar = "false"
defaultProvider="AspNetInternalProvider">
</outputCache>
L'exemple suivant montre comment désactiver le cache de sortie pour une application ASP.NET :
<outputCache enableOutputCache="false" />
Mise en cache de sortie extensible
ASP.NET vous permet d'étendre la mise en cache de sortie et de configurer un ou plusieurs fournisseurs de cache de sortie personnalisés. Les fournisseurs de cache de sortie peuvent utiliser un mécanisme de stockage pour rendre le contenu HTML persistant. Ces options de stockage peuvent inclure des disques locaux ou distants, un stockage en nuage et des moteurs de cache distribués.
L'extensibilité des fournisseurs de cache de sortie dans ASP.NET vous permet de concevoir des stratégies de mise en cache de sortie plus agressives et plus intelligentes pour les sites Web. Par exemple, vous pouvez créer un fournisseur de cache de sortie qui met en mémoire cache les 10 pages les plus visitées d'un site, tous en mettant en cache les pages dont le trafic est plus faible sur un disque. Vous pouvez également mettre en cache chaque variation de combinaison pour une page rendue, mais utiliser un cache distribué afin de décharger la consommation de mémoire des serveurs Web frontaux.
Vous créez un fournisseur de cache de sortie personnalisé en tant que classe qui dérive du type OutputCacheProvider. Vous pouvez ensuite configurer le fournisseur dans le fichier Web.config à l'aide de la nouvelle sous-section providers de l'élément outputCache .
Par défaut, dans ASP.NET, toutes les réponses HTTP, toutes les pages rendues et tous les contrôles utilisent le cache de sortie en mémoire qui se trouve dans l'exemple précédent (où l'attribut defaultProvider a la valeur AspNetInternalProvider). Vous pouvez modifier le fournisseur de cache de sortie par défaut utilisé pour une application Web en spécifiant un nom de fournisseur différent pour defaultProvider.
De plus, vous pouvez sélectionner des fournisseurs de cache de sortie différents pour un contrôle individuel et des requêtes individuelles. La façon la plus simple de spécifier un fournisseur de cache de sortie différent pour des contrôles utilisateur Web différents consiste à le faire de façon déclarative en utilisant le nouvel attribut providerName dans une page ou une directive de contrôle, comme indiqué dans l'exemple suivant :
<%@ OutputCache Duration="60" VaryByParam="None"
providerName="DiskCache" %>
Pour spécifier un fournisseur de cache de sortie différent pour une requête HTTP et substituer la méthode GetOutputCacheProviderName dans le fichier Global.asax afin de spécifier par programmation le fournisseur à utiliser pour une requête spécifique.
Voir aussi
Tâches
Comment : verrouiller des paramètres de configuration ASP.NET
Référence
Concepts
Vue d'ensemble de la mise en cache ASP.NET
Sécurisation de la configuration ASP.NET
Scénarios de configuration ASP.NET