Compartir a través de


Valor predeterminados de grupo de aplicaciones <applicationPoolDefaults>

Información general

La colección <applicationPoolDefaults> de la colección <applicationPools> configura valores predeterminados para todos los grupos de aplicaciones de un servidor web.

Nota:

Los valores predeterminados que no se definen explícitamente en la colección <applicationPoolDefaults> seguirán heredando los valores predeterminados en el esquema de IIS 7 y versiones posteriores, y los valores individuales del grupo de aplicaciones invalidarán los valores predeterminados.

Compatibilidad

Versión Notas
IIS 10.0 El elemento <applicationInitialization> no se ha modificado en IIS 10.0.
IIS 8.5 El elemento <applicationInitialization> no se ha modificado en IIS 8.5.
IIS 8.0 Otro valor ("v4.0") se agregó al atributo managedRuntimeVersion en IIS 8.0 y su valor predeterminado se cambió a "" en lugar de "v2.0".
IIS 7.5 El elemento <applicationPoolDefaults> no se ha modificado en IIS 7.5.
IIS 7.0 El elemento <applicationPoolDefaults> se introdujo en IIS 7.0.
IIS 6,0 El elemento <applicationPoolDefaults> reemplaza partes de la propiedad de metabase IIsApplicationPools de IIS 6.0.

Configuración

La colección <applicationPools> se incluye en la instalación predeterminada de IIS 7 y versiones posteriores.

Procedimientos

Procedimiento para configurar valores predeterminados de grupo de aplicaciones

  1. 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, después, 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, después, 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, después, 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 en Panel de control.
      • Haga doble clic en Herramientas administrativas y después en Administrador de Internet Information Services (IIS).
  2. En el panel Conexiones, expanda el nombre del servidor y, después, haga clic en Grupos de aplicaciones.

  3. En el panel Acciones, haga clic en Establecer valores predeterminados de grupos de aplicaciones...
    Screenshot of the Application Pools screen, showing the Filter field.

  4. En el cuadro de diálogo Valores predeterminados de grupos de aplicaciones, especifique las opciones deseadas.
    Screenshot of the Application Pool Defaults dialog box.

  5. Cuando haya terminado de especificar los valores, haga clic en Aceptar.

Configuración

Atributos

Atributo Descripción
autoStart Atributo Boolean opcional.

Si es true, indica al servicio de publicación World Wide Web (W3SVC) que el grupo de aplicaciones se debe iniciar automáticamente cuando se crea o cuando se inicia IIS.

El valor predeterminado es true.
CLRConfigFile Valor de cadena opcional.

Especifica el archivo de configuración de .NET para el grupo de aplicaciones.

Nota: Este atributo se ha agregado en IIS 7.5.

No existe ningún valor predeterminado.
enable32BitAppOnWin64 Atributo Boolean opcional.

Si es true, permite que una aplicación de 32 bits se ejecute en un equipo con una versión de Windows de 64 bits.

El valor predeterminado es false.
managedPipelineMode Atributo enum opcional.

Especifica el modo de procesamiento de solicitudes que se usa para procesar solicitudes de contenido administrado.

El atributo managedPipelineMode puede ser uno de los siguientes valores posibles; el valor predeterminado es Integrated.
Valor Descripción
Classic Especifica que el grupo de aplicaciones usa canalizaciones de procesamiento de solicitudes de IIS y ASP.NET independientes, que funciona con aplicaciones ASP.NET 1.1 y las aplicaciones ASP.NET 2.0 que no funcionan en modo integrado.

El valor numérico es 1.
Integrated Especifica que el grupo de aplicaciones usa la canalización integrada de procesamiento de solicitudes de IIS y ASP.NET, que funciona solo con aplicaciones ASP.NET 2.0 o una versión posterior.

El valor numérico es 0.
managedRuntimeLoader Atributo de cadena opcional.

Especifica el cargador administrado que se va a usar para la cargar previa del grupo de aplicaciones.

Nota: Este atributo se ha agregado en IIS 7.5.

El valor predeterminado es webengine4.dll.
managedRuntimeVersion Atributo de cadena opcional.

Especifica la versión de .NET Framework que usará el grupo de aplicaciones.

El atributo managedRuntimeVersion puede ser uno de los siguientes valores posibles; el valor predeterminado es "".
Valor Descripción
v1.1 Especifica que el grupo de aplicaciones usa la versión 1.1 de .NET Framework.
v2.0 Especifica que el grupo de aplicaciones usa la versión 2.0 de .NET Framework.
v4.0 Especifica que el grupo de aplicaciones usa la versión 4.0 de .NET Framework.
name Atributo de cadena necesario.

Especifica un nombre único para un grupo de aplicaciones en el servidor.
queueLength Atributo uint opcional.

Indica a HTTP.sys cuántas solicitudes se ponen en cola para un grupo de aplicaciones antes de que se rechacen las solicitudes futuras.

Cuando se supera el valor establecido para esta propiedad, IIS rechaza las solicitudes posteriores con un error 503. Si el valor de loadBalancerCapabilities es true, la conexión se cierra en lugar de rechazar solicitudes con un error 503. Para más información sobre loadBalancerCapabilities, vea Valores de error para un grupo de aplicaciones.

El valor predeterminado es 1000.
startMode Valor enum opcional.

Especifica el tipo de inicio del grupo de aplicaciones.

Nota: Este atributo se ha agregado en IIS 7.5.

El atributo startMode puede ser uno de los siguientes valores posibles; el valor predeterminado es OnDemand.
Valor Descripción
AlwaysRunning Especifica que el Servicio de activación de procesos de Windows (WAS) siempre iniciará el grupo de aplicaciones. Este comportamiento permite a una aplicación cargar el entorno operativo antes de atender las solicitudes HTTP, lo que reduce el procesamiento de inicio de las solicitudes HTTP iniciales de la aplicación.

El valor numérico es 1.
OnDemand Especifica que el Servicio de activación de procesos de Windows (WAS) iniciará el grupo de aplicaciones cuando se realice una solicitud HTTP para una aplicación hospedada en el grupo de aplicaciones. Este comportamiento es similar al comportamiento de WAS en versiones anteriores de IIS.

El valor numérico es 0.

Elementos secundarios

Elemento Descripción
cpu Configura la afinidad de CPU y las acciones de CPU.
environmentVariables Configura una colección de variables de entorno para pasar a los procesos de trabajo.
failure Configura las acciones que se deben realizar cuando se produce un error en un grupo de aplicaciones.
processModel Configura los atributos de administración de procesos para un grupo de aplicaciones.
recycling Configura el reciclaje del grupo de aplicaciones.

Ejemplo de configuración

En el ejemplo de configuración siguiente se especifica que la identidad predeterminada para todos los grupos de aplicaciones sea la identidad integrada del grupo de aplicaciones y especifica 200 como el número predeterminado de solicitudes después de las que se reciclan los grupos de aplicaciones.

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

Código de ejemplo

En los ejemplos siguientes se configuran los grupos de aplicaciones para que se inicien automáticamente, para que usen la versión 2.0 del entorno .NET y para que utilicen la canalización integrada de forma predeterminada.

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

Nota:

Debe asegurarse de establecer el parámetrocommit en apphost cuando use AppCmd.exe para configurar estos valores. 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 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()