Compartir a través de


Perfiles de almacenamiento en caché <profiles>

Información general

El elemento <profiles> del elemento <caching> especifica un perfil que se va a usar para el almacenamiento en caché de resultados.

Compatibilidad

Versión Notas
IIS 10.0 El elemento <profiles> no se modificó en IIS 10.0.
IIS 8.5 El elemento <profiles> no se modificó en IIS 8.5.
IIS 8.0 El elemento <profiles> no se modificó en IIS 8.0.
IIS 7.5 El elemento <profiles> no se modificó en IIS 7.5.
IIS 7.0 El elemento <profiles> del elemento <caching> se introdujo en IIS 7.0.
IIS 6,0 N/D

Configuración

El elemento <profiles> del elemento <caching> se incluye en la instalación predeterminada de IIS 7.

Procedimientos

Cómo configurar el almacenamiento en caché de resultados de página

  1. Abra el Administrador de Internet Information Services (IIS):

    • Si usa Windows Server 2012 o Windows Server 2012 R2:

      • En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, a continuación, en Administrador de Internet Information Services (IIS).
    • Si usa Windows 8 o Windows 8.1:

      • Mantenga presionada la tecla Windows, presione la letra X y haga clic en Panel de control.
      • Haga clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
    • Si usa Windows Server 2008 o Windows Server 2008 R2:

      • En la barra de tareas, haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
    • Si usa Windows Vista o Windows 7:

      • En la barra de tareas, haga clic en Inicio y, luego, haga clic en Panel de control.
      • Haga doble clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
  2. En el panel Conexiones, vaya a la conexión, el sitio, la aplicación o el directorio para el que quiere configurar el almacenamiento en caché de resultados de página.

  3. En el panel Inicio, desplácese hasta Almacenamiento en caché de resultados y, a continuación, haga doble clic en Almacenamiento en caché de resultados.
    Screenshot of the I I S Manager window. Output Caching is selected in the main pane.

  4. En el panel Acciones, haga clic en Agregar....

  5. En el cuadro de diálogo Agregar regla de caché, escriba la extensión de nombre de archivo que quiere almacenar en caché en el cuadro Extensión de nombre de archivo y, a continuación, seleccione la opción Almacenamiento en caché en modo usuario, la opción Almacenamiento en caché en modo kernel o ambas.

  6. Seleccione las opciones que quiera usar para el almacenamiento en caché y, a continuación, haga clic en Aceptar.
    Screenshot of the Add Cache Rule dialog. User-mode caching and kernel-mode caching are checked.

Configuración

Atributos

Ninguno.

Elementos secundarios

Elemento Descripción
add Elemento opcional.

Agrega un perfil de almacenamiento en caché de resultados a la colección de perfiles de este tipo.
clear Elemento opcional.

Quita todas las referencias a los perfiles de almacenamiento en caché de resultados de la colección de perfiles de este tipo.
remove Elemento opcional.

Quita una referencia a un perfil de almacenamiento en caché de resultados de la colección de perfiles de este tipo.

Ejemplo de configuración

En el ejemplo de configuración siguiente se habilita el almacenamiento en caché en modo de usuario y el almacenamiento en caché en modo kernel, ambos habilitados de forma predeterminada en IIS 7.0. También se usa el elemento <add> contenido en el elemento <profiles> para habilitar el almacenamiento en caché de resultados para los archivos con la extensión de nombre de archivo .asp. También se usa el atributo policy para almacenar la página en la memoria caché de resultados hasta que cambie; hace lo mismo para el almacenamiento en caché del kernel con el atributo kernelCachePolicy.

<configuration>
   <system.webServer>
      <caching enabled="true" enableKernelCache="true">
         <profiles>
            <add extension=".asp" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
         </profiles>
      </caching>
   </system.webServer>
</configuration>

En el ejemplo de código siguiente se establece el tamaño máximo de la memoria caché de resultados en 1 gigabyte y el tamaño máximo de respuesta que se puede almacenar en la memoria caché de resultados en 512 kilobytes.

<configuration>
   <system.webServer>
      <caching enabled="true" enableKernelCache="true" maxCacheSize="1000" maxResponseSize="512000"/>
   </system.webServer>
</configuration>

Código de ejemplo

En los ejemplos siguientes se configura el almacenamiento en caché de resultados de página para archivos con la extensión de nombre de archivo .asp y se configura IIS para almacenar en caché en modo de usuario y modo kernel hasta que cambien los archivos ASP.

AppCmd.exe

appcmd.exe set config -section:system.webServer/caching /+"profiles.[extension='asp',policy='CacheUntilChange',kernelCachePolicy='CacheUntilChange']" /commit:apphost

Nota:

Debe asegurarse de establecer el parámetro de confirmación en apphost cuando use AppCmd.exe para configurar estas opciones. Esto confirma los valores de configuración en la sección de ubicación adecuada del archivo 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()