Partager via


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

  1. 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).
  2. 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.

  3. Dans le volet Accueil, faites défiler jusqu’à Mise en cache de sortie, puis double-cliquez sur Mise en cache de sortie.
    Screenshot of the Home pane with the Output Caching icon being highlighted.

  4. Dans le volet Actions, cliquer sur Ajouter...

  5. 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.

  6. Sélectionnez les options que vous souhaitez utiliser pour la mise en cache, puis cliquez sur OK.
    Screenshot of the Add Cache Rule dialog box, showing the File name extension field.

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.
Valeur Description
DontCache Le contenu n'est pas mis en cache.

La valeur numérique est 0.
CacheUntilChange Le contenu n’est mis en cache que jusqu’à ce qu’il soit modifié.

La valeur numérique est 1.
CacheForTimePeriod Le contenu est mis en cache pendant la durée spécifiée par l’attribut de durée.

La valeur numérique est 2.
DisableCache Le cache est désactivé et aucune mise en cache ne se produit.

La valeur numérique est 3.
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.
Valeur Description
Any Le cache de sortie peut se trouver sur le navigateur client (à l'origine de la demande), sur un serveur proxy (ou tout autre serveur) participant à la demande ou bien sur le serveur où la demande a été traitée.

La valeur numérique est 0.
Client Le cache de sortie se trouve sur le navigateur client à l'origine de la demande.

La valeur numérique est 1.
Downstream Le cache de sortie peut être stocké sur n'importe quel appareil offrant des fonctionnalités de mise en cache HTTP 1.1 autre que le serveur d'origine. Cela inclut les serveurs proxy et le client à l'origine de la demande.

La valeur numérique est 2.
Server Le cache de sortie se trouve sur le serveur Web où la demande a été traitée.

La valeur numérique est 3.
None Le cache de sortie est désactivé pour la page demandée.

La valeur numérique est 4.
ServerAndClient Le cache de sortie ne peut être stocké que sur le serveur d'origine ou le client demandeur. Les serveurs proxy ne sont pas autorisés à mettre la réponse en cache.

La valeur numérique est 5.
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.
Valeur Description
DontCache Le contenu n'est pas mis en cache.

La valeur numérique est 0.
CacheUntilChange Le contenu n’est mis en cache que jusqu’à ce qu’il soit modifié.

La valeur numérique est 1.
CacheForTimePeriod Le contenu est mis en cache pendant la durée spécifiée par l’attribut de durée.

La valeur numérique est 2.
DisableCache Le cache est désactivé et aucune mise en cache ne se produit.

La valeur numérique est 3.
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()