Profils de mise en cache <profils>
Vue d’ensemble
L’élément <profiles>
de l’élément <caching>
spécifie un profil à utiliser pour la mise en cache de sortie.
Compatibilité
Version | Notes |
---|---|
IIS 10.0 | L’élément <profiles> n’a pas été modifié dans IIS 10.0. |
IIS 8.5 | L’élément <profiles> n’a pas été modifié dans IIS 8.5. |
IIS 8.0 | L’élément <profiles> n’a pas été modifié dans IIS 8.0. |
IIS 7.5 | L’élément <profiles> n’a pas été modifié dans IIS 7.5. |
IIS 7.0 | L’élément <profiles> de l’élément <caching> a été introduit dans IIS 7.0. |
IIS 6.0 | S/O |
Programme d’installation
L’élément <profiles>
de l’élément <caching>
est inclus dans l’installation par défaut d’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 des services Internet (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
Aucune.
Éléments enfants
Élément | Description |
---|---|
add |
Élément facultatif. Ajoute un profil de mise en cache de sortie à la collection de profils de mise en cache de sortie. |
clear |
Élément facultatif. Supprime toutes les références aux profils de mise en cache de sortie de la collection de profils de mise en cache de sortie. |
remove |
Élément facultatif. Supprime une référence à un profil de mise en cache de sortie de la collection de profils de mise en cache de sortie. |
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()