Perfis de cache <profiles>
Visão geral
O elemento <profiles>
do elemento <caching>
especifica um perfil a ser usado para cache de saída.
Compatibilidade
Versão | Observações |
---|---|
IIS 10.0 | O elemento <profiles> não foi modificado no IIS 10.0. |
IIS 8.5 | O elemento <profiles> não foi modificado no IIS 8.5. |
IIS 8.0 | O elemento <profiles> não foi modificado no IIS 8.0. |
IIS 7.5 | O elemento <profiles> não foi modificado no IIS 7.5. |
IIS 7.0 | O elemento <profiles> do elemento <caching> foi introduzido no IIS 7.0. |
IIS 6,0 | N/D |
Instalação
O elemento <profiles>
do elemento <caching>
está incluído na instalação padrão do IIS 7.
Instruções
Como configurar o cache de saída de página
Abra o Gerenciador dos Serviços de Informações da Internet (IIS):
Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:
- Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador dos Serviços de Informações da Internet (IIS).
Se você estiver usando o Windows 8 ou Windows 8.1:
- Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
- Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:
- Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
Se você estiver usando o Windows Vista ou Windows 7:
- Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
- Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
No painel Conexões, acesse a conexão, o site, o aplicativo ou o diretório para o qual você deseja configurar o cache de saída da página.
No painel Página Inicial, role até Cache de Saída e clique duas vezes em Cache de Saída.
No painel Ações, clique em Adicionar...
Na caixa de diálogo Adicionar Regra de Cache, digite a extensão de nome de arquivo que você deseja armazenar em cache na caixa Extensão de nome de arquivo e selecione a opção Cache no modo de usuário, a opção Cache no modo kernel, ou ambas.
Selecione as opções que deseja usar para cache e clique em OK.
Configuração
Atributos
Nenhum.
Elementos filho
Elemento | Descrição |
---|---|
add |
Elemento opcional. Adiciona um perfil de cache de saída à coleção de perfis de cache de saída. |
clear |
Elemento opcional. Remove todas as referências a perfis de cache de saída da coleção de perfil de cache de saída. |
remove |
Elemento opcional. Remove uma referência a um perfil de cache de saída da coleção de perfil de cache de saída. |
Exemplo de configuração
O exemplo de configuração a seguir habilita o cache no modo de usuário e o cache no modo kernel, ambos habilitados por padrão no IIS 7.0. Ele também usa o elemento <add>
contido pelo elemento <profiles>
para habilitar o cache de saída para arquivos com a extensão de nome de arquivo .asp. Ele também usa o atributo policy para armazenar em cache a página até que ela seja alterada; ele faz o mesmo para o cache de kernel usando o atributo kernelCachePolicy.
<configuration>
<system.webServer>
<caching enabled="true" enableKernelCache="true">
<profiles>
<add extension=".asp" policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" />
</profiles>
</caching>
</system.webServer>
</configuration>
O exemplo de código a seguir define o tamanho máximo do cache de saída como 1 gigabyte e define o tamanho máximo de uma resposta que pode ser armazenada no cache de saída como 512 quilobytes.
<configuration>
<system.webServer>
<caching enabled="true" enableKernelCache="true" maxCacheSize="1000" maxResponseSize="512000"/>
</system.webServer>
</configuration>
Exemplo de código
Os exemplos a seguir configuram o cache de saída de página para arquivos com a extensão de nome de arquivo .asp e configuram o IIS para armazenar em cache no modo de usuário e no modo kernel até que os arquivos ASP sejam alterados.
AppCmd.exe
appcmd.exe set config -section:system.webServer/caching /+"profiles.[extension='asp',policy='CacheUntilChange',kernelCachePolicy='CacheUntilChange']" /commit:apphost
Observação
Defina o parâmetro commit para apphost
quando usar AppCmd.exe para definir essas configurações. Isso confirma as definições de configuração para a seção de local apropriado no arquivo 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()