Compartilhar via


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

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

  3. No painel Página Inicial, role até Cache de Saída e clique duas vezes em Cache de Saída.
    Screenshot of the I I S Manager window. Output Caching is selected in the main pane.

  4. No painel Ações, clique em Adicionar...

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

  6. Selecione as opções que deseja usar para cache e clique em OK.
    Screenshot of the Add Cache Rule dialog. User-mode caching and kernel-mode caching are checked.

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()