Padrões dos pools de aplicativos <applicationPoolDefaults>

Visão geral

A coleção <applicationPoolDefaults> da coleção <applicationPools> configura valores padrão para todos os pools de aplicativos em um servidor Web.

Observação

Todos os valores padrão que não são definidos explicitamente na coleção <applicationPoolDefaults> ainda herdarão os valores padrão no esquema IIS 7 e posterior e as configurações de pools de aplicativos individuais substituirão os valores padrão.

Compatibilidade

Versão Observações
IIS 10.0 O elemento <applicationInitialization> não foi modificado no IIS 10.0.
IIS 8.5 O elemento <applicationInitialization> não foi modificado no IIS 8.5.
IIS 8.0 Outro valor ("v4.0") foi adicionado ao atributo managedRuntimeVersion no IIS 8.0 e seu valor padrão foi alterado para "" em vez de "v2.0".
IIS 7.5 O elemento <applicationPoolDefaults> não foi modificado no IIS 7.5.
IIS 7.0 O elemento <applicationPoolDefaults> foi introduzido no IIS 7.0.
IIS 6,0 O elemento <applicationPoolDefaults> substitui partes da propriedade de metabase IIsApplicationPools do IIS 6.0.

Instalação

A coleção <applicationPools> está incluída na instalação padrão do IIS 7 e posteriores.

Instruções

Como configurar os padrões dos pools de aplicativos

  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, expanda o nome do servidor e clique em Pools de Aplicativos.

  3. No painel Ações, clique em Definir Padrões do Pool de Aplicativos...
    Screenshot of the Application Pools screen, showing the Filter field.

  4. Na caixa de diálogo Padrões dos Pools de Aplicativos, especifique as opções desejadas.
    Screenshot of the Application Pool Defaults dialog box.

  5. Quando terminar de especificar suas configurações, clique em OK.

Configuração

Atributos

Atributo Descrição
autoStart Atributo booliano opcional.

Quando true, indica ao W3SVC (Serviço de Publicação na World Wide Web) que o pool de aplicativos deve ser iniciado automaticamente ao ser criado ou quando o IIS é iniciado.

O valor padrão é true.
CLRConfigFile Valor string opcional.

Especifica o arquivo de configuração do .NET para o pool de aplicativos.

Observação: esse atributo foi adicionado ao IIS 7.5.

Nenhum valor padrão.
enable32BitAppOnWin64 Atributo booliano opcional.

Quando true, permite que um aplicativo de 32 bits seja executado em um computador que executa uma versão de 64 bits do Windows.

O valor padrão é false.
managedPipelineMode Atributo de enumeração opcional.

Especifica o modo de processamento de solicitação usado para processar solicitações de conteúdo gerenciado.

O atributo managedPipelineMode pode ser um dos seguintes valores possíveis; o padrão é Integrated.
Valor Descrição
Classic Especifica que o pool de aplicativos usa pipelines de processamento de solicitações separados do IIS e do ASP.NET, que funcionam com o aplicativo ASP.NET 1.1 e aplicativos ASP.NET 2.0 que não funcionam no modo integrado.

O valor numérico é 1.
Integrated Especifica que o pool de aplicativos usa o pipeline de processamento de solicitações integrado do IIS e do ASP.NET, que funciona apenas com o aplicativo ASP.NET 2.0 ou posteriores.

O valor numérico é 0.
managedRuntimeLoader Atributo de cadeia de caracteres opcional.

Especifica o carregador gerenciado a ser usado para pré-carregar o pool de aplicativos.

Observação: esse atributo foi adicionado ao IIS 7.5.

O valor padrão é webengine4.dll.
managedRuntimeVersion Atributo de cadeia de caracteres opcional.

Especifica a versão do .NET Framework a ser usada pelo pool de aplicativos.

O atributo managedRuntimeVersion pode ser um dos seguintes valores possíveis; o valor padrão é "".
Valor Descrição
v1.1 Especifica que o pool de aplicativos use o .NET Framework versão 1.1.
v2.0 Especifica que o pool de aplicativos use o .NET Framework versão 2.0.
v4.0 Especifica que o pool de aplicativos use o .NET Framework versão 4.0.
name Atributo de cadeia de caracteres obrigatório.

Especifica um nome exclusivo para um pool de aplicativos no servidor.
queueLength Atributo uint opcional.

Indica ao HTTP.sys quantas solicitações são enfileiradas para um pool de aplicativos antes de rejeitar solicitações futuras.

Quando o valor definido para essa propriedade é excedido, o IIS rejeita as solicitações seguintes com um erro 503. Se a configuração de loadBalancerCapabilities for true, a conexão será fechada em vez de rejeitar solicitações com um 503. Para obter mais informações sobre loadBalancerCapabilities, consulte Configurações de falhas para um Pool de Aplicativos.

O valor padrão é 1000.
startMode Valor de enumeração opcional.

Especifica o tipo de inicialização para o pool de aplicativos.

Observação: esse atributo foi adicionado ao IIS 7.5.

O atributo startMode pode ser um dos seguintes valores possíveis; o valor padrão é OnDemand.
Valor Descrição
AlwaysRunning Especifica que o WAS (Serviço de Ativação de Processos do Windows) sempre iniciará o pool de aplicativos. Esse comportamento permite que um aplicativo carregue o ambiente operacional antes de atender a solicitações HTTP, o que reduz o processamento de inicialização para solicitações HTTP iniciais para o aplicativo.

O valor numérico é 1.
OnDemand Especifica que o WAS (Serviço de Ativação de Processos do Windows) iniciará o pool de aplicativos quando uma solicitação HTTP for feita para um aplicativo hospedado no pool de aplicativos. Esse comportamento se assemelha ao comportamento do WAS em versões anteriores do IIS.

O valor numérico é 0.

Elementos filho

Elemento Descrição
cpu Configura a afinidade da CPU e as ações da CPU.
environmentVariables Configura uma coleção de variáveis de ambiente para passar para processos de trabalho.
failure Configura ações a serem executadas quando um pool de aplicativos falha.
processModel Configura atributos de gerenciamento de processos para um pool de aplicativos.
recycling Configura a reciclagem do pool de aplicativos.

Exemplo de configuração

O exemplo de configuração a seguir especifica a identidade padrão para que todos os pools de aplicativos sejam a identidade interna do pool de aplicativos e especifica 200 como número padrão de solicitações após as quais os pools de aplicativos são reciclados.

<applicationPools>
   <add name="DefaultAppPool" />
   <applicationPoolDefaults>
      <processModel identityType="ApplicationPoolIdentity" />
      <recycling>
         <periodicRestart requests="200" />
      </recycling>
   </applicationPoolDefaults>
</applicationPools>

Exemplo de código

Os exemplos a seguir configuram os pools de aplicativos para serem iniciados automaticamente, para usar a versão 2.0 do ambiente do .NET e usar o pipeline integrado por padrão.

AppCmd.exe

appcmd.exe set config -section:system.applicationHost/applicationPools /applicationPoolDefaults.autoStart:"True" /commit:apphost

appcmd.exe set config -section:system.applicationHost/applicationPools /applicationPoolDefaults.managedRuntimeVersion:"v2.0" /commit:apphost

appcmd.exe set config -section:system.applicationHost/applicationPools /applicationPoolDefaults.managedPipelineMode:"Integrated" /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 applicationPoolsSection = config.GetSection("system.applicationHost/applicationPools");

         ConfigurationElement applicationPoolDefaultsElement = applicationPoolsSection.GetChildElement("applicationPoolDefaults");
         applicationPoolDefaultsElement["autoStart"] = true;
         applicationPoolDefaultsElement["managedRuntimeVersion"] = @"v2.0";
         applicationPoolDefaultsElement["managedPipelineMode"] = @"Integrated";

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Class Sample
   Shared Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim applicationPoolsSection As ConfigurationSection = config.GetSection("system.applicationHost/applicationPools")
      Dim applicationPoolDefaultsElement As ConfigurationElement = applicationPoolsSection.GetChildElement("applicationPoolDefaults")
      applicationPoolDefaultsElement("autoStart") = True
      applicationPoolDefaultsElement("managedRuntimeVersion") = "v2.0"
      applicationPoolDefaultsElement("managedPipelineMode") = "Integrated"
      serverManager.CommitChanges()
   End Sub
End Class

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var applicationPoolsSection = adminManager.GetAdminSection("system.applicationHost/applicationPools", "MACHINE/WEBROOT/APPHOST");
var applicationPoolDefaultsElement = applicationPoolsSection.ChildElements.Item("applicationPoolDefaults");
applicationPoolDefaultsElement.Properties.Item("autoStart").Value = true;
applicationPoolDefaultsElement.Properties.Item("managedRuntimeVersion").Value = "v2.0";
applicationPoolDefaultsElement.Properties.Item("managedPipelineMode").Value = "Integrated";

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set applicationPoolsSection = adminManager.GetAdminSection("system.applicationHost/applicationPools", "MACHINE/WEBROOT/APPHOST")
Set applicationPoolDefaultsElement = applicationPoolsSection.ChildElements.Item("applicationPoolDefaults")
applicationPoolDefaultsElement.Properties.Item("autoStart").Value = True
applicationPoolDefaultsElement.Properties.Item("managedRuntimeVersion").Value = "v2.0"
applicationPoolDefaultsElement.Properties.Item("managedPipelineMode").Value = "Integrated"

adminManager.CommitChanges()