Partager via


Pool d’application par défaut <applicationPoolDefaults>

Vue d’ensemble

La <applicationPoolDefaults> collection de la <applicationPools> collection configure les valeurs par défaut pour tous les pools d’applications sur un serveur internet.

Remarque

Toutes les valeurs par défaut qui ne sont pas explicitement définies dans la collection <applicationPoolDefaults> hériteront toujours des valeurs par défaut dans le schéma IIS 7 et ultérieur, et les paramètres de pool d’applications individuels remplacent toutes les valeurs par défaut.

Compatibilité

Version Notes
IIS 10.0 L’élément <applicationInitialization> n’a pas été modifié dans IIS 10.0.
IIS 8.5 L’élément <applicationInitialization> n’a pas été modifié dans IIS 8.5.
IIS 8.0 Une autre valeur (« v4.0 ») a été ajoutée à l’attribut managedRuntimeVersion dans IIS 8.0 et sa valeur par défaut a été remplacée par « » au lieu de « v2.0 ».
IIS 7.5 L’élément <applicationPoolDefaults> n’a pas été modifié dans IIS 7.5.
IIS 7.0 L’élément <applicationPoolDefaults> a été introduit dans IIS 7.0.
IIS 6.0 L’élément <applicationPoolDefaults> remplace les parties de la propriété de la métabase IIS 6.0 IIsApplicationPools.

Programme d’installation

La collection <applicationPools> est incluse dans l’installation par défaut d’IIS 7 et versions ultérieures.

Procédure

Comment configurer les valeurs par défaut du pool d’applications

  1. Ouvrez le Gestionnaire des services internet (IIS) :

    • Si vous utilisez Windows Server 2012 ou Windows Server 2012 R2 :

      • Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez sur Outils, puis sur Gestionnaire des services internet (IIS).
    • Si vous utilisez Windows 8 ou Windows 8.1 :

      • Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
      • Cliquez sur Outils d'administration, puis double-cliquez sur Gestionnaire des services internet (IIS).
    • Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :

      • Cliquez sur Démarrer, placez le curseur sur Outils d'administration, puis cliquez sur Gestionnaire des services internet (IIS).
    • Si vous utilisez Windows Vista ou Windows 7 :

      • Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
      • Double-cliquez sur Outils d'administration, puis double-cliquez sur Gestionnaire des services internet (IIS).
  2. Dans le volet Connexions, développez le nom du serveur, puis cliquez sur Pools d'applications.

  3. Dans le volet Actions, cliquez sur Réglage des pools d'applications par défaut....
    Screenshot of the Application Pools screen, showing the Filter field.

  4. Dans la boîte de dialogue Pool d’applications par défaut, définissez les options souhaitées.
    Screenshot of the Application Pool Defaults dialog box.

  5. Une fois que vous avez terminé de définir vos paramètres, cliquez sur OK.

Configuration

Attributs

Attribut Description
autoStart Attribut booléen facultatif.

Lorsque la valeur est true, cela indique au service de publication W3SVC (World Wide Web Publishing Service) que le pool d’applications doit être démarré automatiquement lors de sa création ou du démarrage IIS.

La valeur par défaut est true.
CLRConfigFile Valeur de chaîne facultative.

Définit le fichier de configuration .NET pour le pool d’applications.

Remarque : Cet attribut a été ajouté dans IIS 7.5.

Il n'y a pas de valeur par défaut.
enable32BitAppOnWin64 Attribut booléen facultatif.

Lorsque la valeur est true, cela permet à une application 32 bits de s’exécuter sur un ordinateur qui exécute une version 64 bits de Windows.

La valeur par défaut est false.
managedPipelineMode Attribut d’énumération facultatif.

Définit le mode de traitement des demandes utilisé pour traiter les requêtes de contenu géré.

L’attribut managedPipelineMode peut être l’une des valeurs possibles suivantes ; la valeur par défaut est Integrated.
Valeur Description
Classic Définit que le pool d’applications utilise des pipelines de traitement des requêtes IIS et ASP.NET distincts, qui fonctionnent avec des applications ASP.NET 1.1 et des applications ASP.NET 2.0 qui ne fonctionnent pas en mode intégré.

La valeur numérique est 1.
Integrated Définit que le pool d’applications utilise le pipeline de traitement des requêtes IIS et ASP.NET intégré, qui fonctionne uniquement avec des applications ASP.NET 2.0 ou ultérieures.

La valeur numérique est 0.
managedRuntimeLoader Attribut de chaîne facultatif.

Définit le chargeur géré à utiliser pour le préchargement du pool d’applications.

Remarque : Cet attribut a été ajouté dans IIS 7.5.

La valeur par défaut est webengine4.dll.
managedRuntimeVersion Attribut de chaîne facultatif.

Définit la version du framework .NET à utiliser par le pool d’applications.

L’attribut managedRuntimeVersion peut être l’une des valeurs possibles suivantes ; la valeur par défaut est "".
Valeur Description
v1.1 Définit que le pool d’applications utilise le framework .NET version 1.1.
v2.0 Définit que le pool d’applications utilise le framework .NET version 2.0.
v4.0 Définit que le pool d’applications utilise le framework .NET version 4.0.
name Attribut de chaîne requis.

Définit un nom unique pour un pool d’applications sur le serveur.
queueLength Attribut uint facultatif.

Indique à HTTP.sys le nombre de requêtes à mettre en file d’attente pour un pool d’applications avant de rejeter les futures requêtes.

Quand la valeur de cette propriété est dépassée, IIS rejette les requêtes suivantes avec une erreur 503. Si le paramètre loadBalancerCapabilities a la valeur true, la connexion est fermée au lieu de rejeter les requêtes avec une valeur 503. Pour plus d’informations sur loadBalancerCapabilities, consultez Paramètres d’échec d’un pool d’applications.

La valeur par défaut est 1000.
startMode Valeur d’énumération facultative.

Définit le type de démarrage du pool d’applications.

Remarque : Cet attribut a été ajouté dans IIS 7.5.

L’attribut startMode peut être l’une des valeurs possibles suivantes ; la valeur par défaut est OnDemand.
Valeur Description
AlwaysRunning Définit que le service d’activation de processus Windows (WAS) démarre toujours le pool d’applications. Ce comportement permet à une application de charger l’environnement d’exploitation avant de traiter les requêtes HTTP, ce qui réduit le traitement de démarrage des requêtes HTTP initiales pour l’application.

La valeur numérique est 1.
OnDemand Définit que le service d’activation des processus Windows (WAS) démarre le pool d’applications lorsqu’une requête HTTP est effectuée pour une application hébergée dans le pool d’applications. Ce comportement ressemble au comportement WAS dans les versions précédentes d’IIS.

La valeur numérique est 0.

Éléments enfants

Élément Description
cpu Configure l'affinité et les actions du processeur.
environmentVariables Configure une collection de variables d’environnement à transmettre aux processus de travail.
failure Configure les actions à effectuer lorsqu’un pool d’applications échoue.
processModel Configure les attributs de gestion des processus pour un pool d’applications.
recycling Configure le recyclage du pool d’applications.

Exemple Configuration

L’exemple de configuration suivant définit l’identité par défaut pour tous les pools d’applications comme étant l’identité de pool d’applications intégrée et définit 200 comme nombre par défaut de requêtes après lesquelles les pools d’applications sont recyclés.

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

Exemple de code

Les exemples suivants configurent les pools d’applications pour démarrer automatiquement, pour utiliser la version 2.0 de l’environnement .NET et pour utiliser le pipeline intégré par défaut.

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

Remarque

Vous devez veiller à définir le paramètre commit sur apphost quand vous utilisez AppCmd.exe pour configurer ces paramètres. Cela valide les paramètres de configuration à l’emplacement de la section appropriée dans le fichier 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()