Adición de perfiles de almacenamiento en caché <add>
Información general
El elemento <add>
del elemento <profiles>
agrega un perfil de almacenamiento en caché de resultados a la colección de perfiles de este tipo.
Compatibilidad
Versión | Notas |
---|---|
IIS 10.0 | El elemento <add> no se modificó en IIS 10.0. |
IIS 8.5 | El elemento <add> no se modificó en IIS 8.5. |
IIS 8.0 | El elemento <add> no se modificó en IIS 8.0. |
IIS 7.5 | El elemento <add> no se modificó en IIS 7.5. |
IIS 7.0 | El elemento <add> del elemento <profiles> se introdujo en IIS 7.0. |
IIS 6,0 | N/D |
Configuración
El elemento <add>
del elemento <profiles>
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
Atributo | Descripción | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
duration |
Atributo timeSpan opcional. Especifica el tiempo (en segundos) que la página o el control de usuario se almacena en caché. El valor predeterminado es 00:00:30 . |
||||||||||||||
extension |
Atributo de cadena necesario. Especifica la extensión de nombre de archivo para los archivos que quiere almacenar en caché. |
||||||||||||||
kernelCachePolicy |
Atributo enum opcional. Configura la directiva de almacenamiento en caché del kernel. El atributo kernelCachePolicy puede tener uno de los valores siguientes. El valor predeterminado es DontCache .
|
||||||||||||||
location |
Atributo enum opcional. Especifica los valores válidos para controlar la ubicación de la respuesta HTTP, cuyo resultado se almacena en caché, para un recurso. El atributo location puede tener uno de los siguientes valores posibles. El valor predeterminado es Server .
|
||||||||||||||
policy |
Atributo enum opcional. Configura la directiva de almacenamiento en caché de resultados. El atributo policy puede tener uno de los siguientes valores posibles. El valor predeterminado es DontCache .
|
||||||||||||||
varyByHeaders |
Atributo de cadena opcional. Especifica una lista de los encabezados HTTP que se usan para variar la memoria caché de resultados, separados por punto y coma. Cuando este atributo se establece en varios encabezados, la memoria caché de resultados contiene una versión diferente del documento solicitado para cada combinación de encabezados especificados. |
||||||||||||||
varyByQueryString |
Atributo de cadena opcional. Especifica una lista de las cadenas que se usan para variar la memoria caché de resultados, separadas por punto y coma. De forma predeterminada, estas cadenas corresponden a un valor de cadena de consulta enviado con atributos del método GET o a un parámetro enviado con el método POST. Cuando este atributo se establece en varios parámetros, la caché de resultados contiene una versión diferente del documento solicitado para cada combinación de parámetros especificados. Entre los valores posibles se incluyen none, asterisco (*) y cualquier cadena de consulta o nombre de parámetro POST válidos. |
Elementos secundarios
Ninguno.
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 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()