Ajout de profils de mise en cache <ajouter>
Vue d’ensemble
L’élément <add>
de l’élément <profiles>
ajoute un profil de mise en cache de sortie à la collection de profils de mise en cache de sortie.
Compatibilité
Version | Notes |
---|---|
IIS 10.0 | L’élément <add> n’a pas été modifié dans IIS 10.0. |
IIS 8.5 | L’élément <add> n’a pas été modifié dans IIS 8.5. |
IIS 8.0 | L’élément <add> n’a pas été modifié dans IIS 8.0. |
IIS 7.5 | L’élément <add> n’a pas été modifié dans IIS 7.5. |
IIS 7.0 | L’élément <add> de l’élément <profiles> a été introduit dans IIS 7.0. |
IIS 6.0 | S/O |
Programme d’installation
L’élément <add>
de l’élément <profiles>
est inclus dans l’installation par défaut IIS 7.
Procédure
Comment configurer la mise en cache de sortie de page
Ouvrez le Gestionnaire des services Internet (IIS) :
Si vous utilisez Windows Server 2012 ou Windows Server 2012 R2 :
- Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez sur Outils, puis sur Gestionnaire Internet Information Services (IIS).
Si vous utilisez Windows 8 ou Windows 8.1 :
- Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
- Cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :
- Cliquez sur Démarrer, placez le curseur sur Outils d’administration, puis cliquez sur Gestionnaire Internet Information Services (IIS).
Si vous utilisez Windows Vista ou Windows 7 :
- Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
- Double-cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire des services Internet (IIS).
Dans le volet Connexions, accédez à la connexion, au site, à l’application ou au répertoire pour lequel vous souhaitez configurer la mise en cache de sortie de page.
Dans le volet Accueil, faites défiler jusqu’à Mise en cache de sortie, puis double-cliquez sur Mise en cache de sortie.
Dans le volet Actions, cliquer sur Ajouter...
Dans la boîte de dialogue Ajouter une règle de cache, tapez l’extension de nom de fichier que vous souhaitez mettre en cache dans la zone Extension de nom de fichier, puis sélectionnez l’option Mise en cache en mode utilisateur, l’option Mise en cache en mode noyau ou les deux.
Sélectionnez les options que vous souhaitez utiliser pour la mise en cache, puis cliquez sur OK.
Configuration
Attributs
Attribut | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
duration |
Attribut timeSpan facultatif. Spécifie la durée (en secondes) pendant laquelle la page ou le contrôle utilisateur est mis en cache Par défaut, il s’agit de 00:00:30 . |
||||||||||||||
extension |
Attribut de chaîne requis. Spécifie l'extension du nom du fichier pour les fichiers que vous voulez mettre en cache. |
||||||||||||||
kernelCachePolicy |
Attribut d’énumération facultatif. Configure la stratégie de mise en cache du noyau. L’attribut kernelCachePolicy peut être l’une des valeurs suivantes. Par défaut, il s’agit de DontCache .
|
||||||||||||||
location |
Attribut d’énumération facultatif. Spécifie les valeurs valides pour le contrôle de l'emplacement de la réponse HTTP mise en cache de sortie pour une ressource. L’attribut de location peut être l’une des valeurs possibles suivantes. Par défaut, il s’agit de Server .
|
||||||||||||||
policy |
Attribut d’énumération facultatif. Configure la stratégie de mise en cache de sortie. L’attribut de stratégie peut être l’une des valeurs possibles suivantes. Par défaut, il s’agit de DontCache .
|
||||||||||||||
varyByHeaders |
Attribut de chaîne facultatif. Spécifie une liste des en-têtes HTTP, séparés par des points-virgules, utilisés pour faire varier le cache de sortie. Lorsque cet attribut est défini sur plusieurs en-têtes, le cache de sortie contient une version différente du document demandé pour chaque combinaison d’en-têtes spécifiés. |
||||||||||||||
varyByQueryString |
Attribut de chaîne facultatif. Spécifie une liste des chaînes, séparées par des points-virgules, utilisées pour faire varier le cache de sortie. Par défaut, ces chaînes correspondent à une valeur de chaîne de requête envoyée avec l’attribut de méthode GET, ou un paramètre envoyé en utilisant la méthode POST. Lorsque cet attribut est défini sur plusieurs paramètres, le cache de sortie contient une version différente du document demandé pour chaque combinaison de paramètres spécifiés. Les valeurs possibles incluent aucun, un astérisque (*) et n’importe quelle chaîne de requête valide ou nom de paramètre POST. |
Éléments enfants
Aucune.
Exemple Configuration
L’exemple de configuration suivant active la mise en cache en mode utilisateur et la mise en cache en mode noyau, qui sont toutes deux activées par défaut dans IIS 7.0. Elle utilise également l’élément <add>
contenu par l’élément <profiles>
pour activer la mise en cache de sortie pour les fichiers avec l’extension de nom de fichier .asp. Elle utilise également l’attribut stratégie pour mettre en cache la page jusqu’à ce qu’elle change. Elle fait de même pour la mise en cache du noyau à l’aide de l’attribut kernelCachePolicy.
<configuration>
<system.webServer>
<caching enabled="true" enableKernelCache="true">
<profiles>
<add extension=".asp" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
</profiles>
</caching>
</system.webServer>
</configuration>
L’exemple de code suivant définit la taille maximale du cache de sortie sur 1 gigaoctet et définit la taille maximale d’une réponse pouvant être stockée dans le cache de sortie à 512 kilo-octets.
<configuration>
<system.webServer>
<caching enabled="true" enableKernelCache="true" maxCacheSize="1000" maxResponseSize="512000"/>
</system.webServer>
</configuration>
Exemple de code
Les exemples suivants configurent la mise en cache de sortie de page pour les fichiers avec l’extension de nom de fichier .asp, et configurent IIS pour mettre en cache en mode utilisateur et en mode noyau jusqu’à ce que les fichiers ASP changent.
AppCmd.exe
appcmd.exe set config -section:system.webServer/caching /+"profiles.[extension='asp',policy='CacheUntilChange',kernelCachePolicy='CacheUntilChange']" /commit:apphost
Remarque
Vous devez veiller à définir le paramètre commit sur apphost
quand vous utilisez AppCmd.exe pour configurer ces paramètres. Cela valide les paramètres de configuration dans la section d’emplacement appropriée dans le fichier ApplicationHost.config.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample {
private static void Main() {
using(ServerManager serverManager = new ServerManager()) {
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection cachingSection = config.GetSection("system.webServer/caching");
ConfigurationElementCollection profilesCollection = cachingSection.GetCollection("profiles");
ConfigurationElement addElement = profilesCollection.CreateElement("add");
addElement["extension"] = @"asp";
addElement["policy"] = @"CacheUntilChange";
addElement["kernelCachePolicy"] = @"CacheUntilChange";
profilesCollection.AddAt(0, addElement);
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim cachingSection As ConfigurationSection = config.GetSection("system.webServer/caching")
Dim profilesCollection As ConfigurationElementCollection = cachingSection.GetCollection("profiles")
Dim addElement As ConfigurationElement = profilesCollection.CreateElement("add")
addElement("extension") = "asp"
addElement("policy") = "CacheUntilChange"
addElement("kernelCachePolicy") = "CacheUntilChange"
profilesCollection.AddAt(0, addElement)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var cachingSection = adminManager.GetAdminSection("system.webServer/caching", "MACHINE/WEBROOT/APPHOST");
var profilesCollection = cachingSection.ChildElements.Item("profiles").Collection;
var addElement = profilesCollection.CreateNewElement("add");
addElement.Properties.Item("extension").Value = "asp";
addElement.Properties.Item("policy").Value = "CacheUntilChange";
addElement.Properties.Item("kernelCachePolicy").Value = "CacheUntilChange";
profilesCollection.AddElement(addElement, 0);
adminManager.CommitChanges();
VBScript
Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set cachingSection = adminManager.GetAdminSection("system.webServer/caching", "MACHINE/WEBROOT/APPHOST")
Set profilesCollection = cachingSection.ChildElements.Item("profiles").Collection
Set addElement = profilesCollection.CreateNewElement("add")
addElement.Properties.Item("extension").Value = "asp"
addElement.Properties.Item("policy").Value = "CacheUntilChange"
addElement.Properties.Item("kernelCachePolicy").Value = "CacheUntilChange"
profilesCollection.AddElement addElement, 0
adminManager.CommitChanges()