Partager via


<applicationPool>, élément (Paramètres Web)

Spécifie les paramètres de configuration utilisés par ASP.NET pour gérer le comportement au niveau du processus lorsqu'une application ASP.NET s'exécute en mode intégré sur IIS 7.0 ou une version ultérieure.

Remarque importanteImportant

Cet élément et la fonctionnalité qu'il prend en charge fonctionnent uniquement si votre application ASP.NET est hébergée sur IIS 7.0 ou versions ultérieures.

<applicationPool 
    maxConcurrentRequestsPerCPU="5000" 
    maxConcurrentThreadsPerCPU="0" 
    requestQueueLimit="5000" />

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Attribut

Description

maxConcurrentRequestsPerCPU

Spécifie combien de demandes simultanées ASP.NET autorise par UC.

maxConcurrentThreadsPerCPU

Spécifie combien de threads simultanés peuvent s'exécuter pour un pool d'applications pour chaque UC. Cela fournit une autre manière de contrôler l'accès concurrentiel ASP.NET, car vous pouvez limiter le nombre de threads managés par UC pouvant être utilisés pour servir les demandes. Par défaut, ce paramètre a la valeur 0, ce qui signifie qu'ASP.NET ne limite pas le nombre de threads par UC pouvant être créés, bien que le pool de threads CLR limite également le nombre de threads qui peuvent être créés.

requestQueueLimit

Spécifie le nombre maximal de demandes qui peuvent être mises en file d'attente pour ASP.NET dans un processus unique. Lorsque deux applications ASP.NET ou plus s'exécutent dans un pool d'applications unique, l'ensemble cumulatif des demandes qui sont faites à une application dans le pool d'applications est soumis à ce paramètre.

Éléments enfants

Aucun

Éléments parents

Élément

Description

<system.web>

Contient des informations sur la manière dont ASP.NET interagit avec une application hôte.

Notes

Lorsque vous exécutez IIS 7.0 ou une version ultérieure en mode intégré, cette combinaison d'éléments vous permet de configurer la manière dont ASP.NET gère les threads et met en file d'attente des demandes lorsque l'application est hébergée dans un pool d'applications IIS. Si vous exécutez IIS 6 ou IIS 7.0 en mode classique ou ISAPI, ces paramètres sont ignorés.

Les paramètres applicationPool s'appliquent à tous les pools d'applications qui s'exécutent sur une version particulière du .NET Framework. Ces paramètres sont contenus dans un fichier aspnet.config. Il existe une version de ce fichier pour les versions 2.0 et 4 du .NET Framework. (Les versions 3.0 et 3.5 du .NET Framework partagent le fichier aspnet.config avec la version 2.0.)

Remarque importanteImportant

Si vous exécutez IIS 7.0 sur Windows 7, vous pouvez configurer un fichier aspnet.config séparé pour chaque pool d'applications.Cela vous permet d'ajuster les performances des threads pour chaque pool d'applications.

Pour le paramètre maxConcurrentRequestsPerCPU, le paramètre par défaut "5000" dans le .NET Framework 4 désactive la limitation de requêtes contrôlée par ASP.NET, à moins que vous ayez réellement 5000 requêtes ou plus par UC. Le paramètre par défaut dépend en fait du pool de threads CLR pour gérer automatiquement l'accès concurrentiel par UC. Les applications qui utilisent beaucoup le traitement des demandes asynchrones ou qui possèdent de nombreuses requêtes longues bloquées sur les E/S réseau profiteront de l'augmentation de la limite par défaut dans le .NET Framework 4. L'affectation de la valeur zéro à maxConcurrentRequestsPerCPU désactive l'utilisation des threads managés pour le traitement des demandes ASP.NET. Lorsqu'une application s'exécute dans un pool d'applications IIS, les demandes restent sur le thread d'E/S IIS ; l'accès concurrentiel est donc limité par les paramètres de thread IIS.

Le paramètre requestQueueLimit fonctionne de la même manière que l'attribut requestQueueLimit de l'élément processModel, défini dans les fichiers Web.config pour les applications ASP.NET. Toutefois, le paramètre requestQueueLimit dans un fichier aspnet.config substitue le paramètre requestQueueLimit dans un fichier Web.config. En d'autres termes, si les deux attributs sont définis (par défaut, la valeur est true), le paramètre requestQueueLimit dans le fichier aspnet.config est prioritaire.

Exemple

L'exemple suivant indique comment configurer le comportement au niveau du processus d'ASP.NET dans le fichier aspnet.config dans les circonstances suivantes :

  • L'application est hébergée dans un pool d'applications IIS 7.0.

  • IIS 7.0 s'exécute en mode intégré.

  • L'application utilise .NET Framework 3.5 SP1ou une version ultérieure.

Les valeurs dans l'exemple sont les valeurs par défaut.

<configuration>
  <system.web>
    <applicationPool 
        maxConcurrentRequestsPerCPU="5000"
        maxConcurrentThreadsPerCPU="0" 
        requestQueueLimit="5000" />
  </system.web>
</configuration>

Informations sur les éléments

Espace de noms

Nom du schéma

Fichier de validation

Peut être vide

Voir aussi

Référence

<system.web>, élément (Paramètres Web)