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
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).
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.
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.
En el panel Acciones, haga clic en Agregar....
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.
Seleccione las opciones que quiera usar para el almacenamiento en caché y, a continuación, haga clic en Aceptar.
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()