httpRuntime, élément (Schéma des paramètres ASP.NET)

Mise à jour : novembre 2007

Configure des paramètres d'exécution (runtime) HTTP ASP.NET qui déterminent le mode de traitement d'une demande d'une application ASP.NET.

configuration, élément (Schéma des paramètres généraux)
  system.web, élément (Schéma des paramètres ASP.NET)
    httpRuntime, élément (Schéma des paramètres ASP.NET)

<httpRuntime
      executionTimeout = "number" 
   maxRequestLength = "number" 
   requestLengthDiskThreshold = "number" 
   useFullyQualifiedRedirectUrl = "[True|False]" 
   minFreeThreads = "number" 
   minLocalRequestFreeThreads = "number" 
   appRequestQueueLimit = "number"
   enableKernelOutputCache = "[True|False]" 
   enableVersionHeader = "[True|False]" 
   apartmentThreading = "[True|False]"
   requireRootedSaveAsPath = "[True|False]"
   enable = "[True|False]" 
   sendCacheControlHeader = "[True|False]" 
      shutdownTimeout = "number"
   delayNotificationTimeout = "number"
   waitChangeNotification = "number" 
   maxWaitChangeNotification = "number" 
   enableHeaderChecking = "[True|False]" 
/>

Attributs et éléments

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

Attributs

Attribut

Description

apartmentThreading

Attribut Boolean facultatif.

Active le modèle de thread cloisonné pour la compatibilité ASP classique.

Cet attribut est une nouveauté de la version 2.0 du .NET Framework. La valeur par défaut est False.

appRequestQueueLimit

Attribut Int32 facultatif.

Spécifie le nombre maximal de demandes de l'application mises en file d'attente par ASP.NET. Lorsqu'il n'y a pas suffisamment de threads disponibles pour traiter une demande, les demandes sont placées dans une file d'attente. Les demandes entrantes seront rejetées avec l'erreur « 503 - Serveur encombré » lorsque la file dépasse la limite spécifiée dans cet attribut.

La valeur par défaut est 5000.

Remarque :

Pour les versions 1.0 et 1.1 du .NET Framework, la valeur par défaut est 100.

delayNotificationTimeout

Attribut TimeSpan facultatif.

Spécifie le délai d'expiration, en secondes, pour différer les notifications.

Cet attribut est une nouveauté de la version 2.0 du .NET Framework.

La valeur par défaut est 5 secondes.

Enable

Attribut Boolean facultatif.

Spécifie si le domaine d'application (AppDomain) est activé pour accepter des demandes entrantes au niveau du nœud actif et du nœud enfant. Si la valeur est False, l'application est désactivée.

La valeur par défaut est True.

enableHeaderChecking

Attribut Boolean facultatif.

Spécifie si ASP.NET doit vérifier l'en-tête de demande pour prévenir les attaques d'injection potentielles. Si une attaque est détectée, ASP.NET répond par une erreur.

Cet attribut est une nouveauté du .NET Framework 2.0.

La valeur par défaut est True.

enableKernelOutputCache

Attribut Boolean facultatif.

Spécifie si la mise en cache de sortie est activée. Cet attribut n'a de pertinence que lorsque Microsoft Internet Information Services (IIS) version 6.0 ou ultérieure est installé. La configuration de la mise en cache de sortie et le type de demande déterminent si un contenu peut être mis en cache.

Pour mettre en cache une réponse, les critères suivants doivent être satisfaits :

  • La mise en cache doit être explicitement activée par une directive de page ou à l'aide de l'API de mise en cache.

  • La mise en cache doit avoir une stratégie d'expiration afin que le noyau reconnaisse les circonstances où il doit ignorer la réponse.

  • La mise en cache ne possède aucun paramètre ni en-tête de variable.

  • L'authentification n'est pas requise.

La valeur par défaut est True.

enableVersionHeader

Attribut Boolean facultatif.

Indique si ASP.NET doit générer une sortie d'en-tête de version. Cet attribut est utilisé par Microsoft Visual Studio 2005 pour déterminer la version d'ASP.NET utilisée. Il n'est pas nécessaire pour les sites de production et peut être désactivé.

Remarque :

Cet attribut n'est pas disponible dans le .NET Framework 1.0.

La valeur par défaut est True.

executionTimeout

Attribut TimeSpan facultatif.

Spécifie la durée maximale, en secondes, d'exécution d'une demande avant qu'elle soit automatiquement arrêtée par ASP.NET.

Ce délai est applicable uniquement si l'attribut de débogage de l'élément compilation est False. Si l'attribut debug est True, n'attribuez pas une valeur trop élevée à ce délai afin d'éviter que l'application s'arrête pendant le débogage.

La valeur par défaut est 110 secondes.

Remarque :

Dans .NET Framework 1.0 et 1.1, la valeur par défaut est égale à 90 secondes.

maxRequestLength

Attribut Int32 facultatif.

Spécifie la limite du seuil de mise en mémoire tampon du flux d'entrée, en Ko. Cette limite peut contribuer à empêcher des attaques par déni de service, provoquées, par exemple, par la publication de fichiers volumineux par les utilisateurs sur le serveur.

La valeur par défaut est 4096 Ko. Si le seuil est dépassé, une ConfigurationErrorsException est levée.

maxWaitChangeNotification

Attribut Int32 facultatif.

Spécifie le nombre maximal de secondes d'attente après la première notification de modification de fichier avant de redémarrer AppDomain pour une nouvelle demande. Affectez à cet attribut un nombre supérieur à la durée nécessaire à l'exécution de tous les processus de copie de fichier. Les notifications de modification de fichier sont combinées selon la valeur de cet attribut et de l'attribut waitChangeNotification.

Cet attribut est une nouveauté du .NET Framework 2.0.

La valeur par défaut est 0.

minFreeThreads

Attribut Int32 facultatif.

Spécifie le nombre minimal de threads disponibles pour exécuter de nouvelles demandes. ASP.NET conserve un nombre spécifié de threads libres pour les demandes qui exigent des threads supplémentaires pour terminer leur traitement.

La valeur par défaut est 8.

minLocalRequestFreeThreads

Attribut Int32 facultatif.

Nombre minimal de threads qu'ASP.NET garde disponibles pour l'exécution de nouvelles demandes locales. Le nombre spécifié de threads est réservé aux demandes émanant de l'hôte local, au cas où certaines demandes enverraient des demandes enfants à l'hôte local pendant le traitement. Cela permet d'éviter un éventuel blocage avec une nouvelle entrée récursive vers le serveur Web.

La valeur par défaut est 4.

requestLengthDiskThreshold

Attribut Int32 facultatif.

Spécifie la limite du seuil de mise en mémoire tampon du flux d'entrée, en kilo-octets. Cette valeur ne doit pas dépasser l'attribut maxRequestLength.

Cet attribut est une nouveauté du .NET Framework 2.0.

La valeur par défaut est 80 Ko.

requireRootedSaveAsPath

Attribut Boolean facultatif.

Spécifie si le paramètre filename d'une méthode SaveAs doit être un chemin d'accès absolu. Le processus ASP.NET doit avoir l'autorisation de créer des fichiers à l'emplacement spécifié.

Cet attribut est une nouveauté du .NET Framework 2.0.

La valeur par défaut est True.

sendCacheControlHeader

Attribut Boolean facultatif.

Spécifie s'il faut envoyer un en-tête de contrôle de cache, qui a la valeur Private par défaut. Si la valeur est True, la mise en cache côté client est désactivée.

Cet attribut est une nouveauté du .NET Framework 2.0.

La valeur par défaut est True.

shutdownTimeout

Attribut TimeSpan facultatif.

Spécifie le nombre de minutes accordées au processus de travail pour qu'il s'arrête de lui-même. À l'expiration du délai, ASP.NET arrête le processus de travail.

Cet attribut est une nouveauté du .NET Framework 2.0.

La valeur par défaut est 90 secondes.

useFullyQualifiedRedirectUrl

Attribut Boolean facultatif.

Spécifie si les redirections côté client se présentent sous leur forme qualifiée complète ("http://serveur/chemin") requise pour certains contrôles mobiles ou si les redirections relatives sont plutôt envoyées au client. Si la valeur est True, toutes les redirections qui ne sont pas qualifiées complètes sont automatiquement converties en une forme qualifiée complète.

Remarque :

Si cet attribut a la valeur False, certains navigateurs peuvent rencontrer des problèmes pendant le chargement de pages lors de sessions sans cookie.

La valeur par défaut est False.

waitChangeNotification

Attribut Int32 facultatif.

Spécifie la durée, en secondes, d'attente d'une autre notification de modifications de fichier avant de redémarrer AppDomain. Affectez à cet attribut un nombre supérieur à l'intervalle entre les mises à jour de deux notifications de modifications de copie de fichier. Les notifications de modification de fichier sont combinées selon la valeur de cet attribut et de l'attribut maxWaitChangeNotification .

Cet attribut est une nouveauté du .NET Framework 2.0.

La valeur par défaut est 0 secondes.

Éléments enfants

Aucun

Éléments parents

Élément

Description

configuration

Élément racine requis dans chaque fichier de configuration utilisé par le Common Language Runtime et les applications .NET Framework.

system.web

Spécifie l'élément racine des paramètres de configuration ASP.NET dans un fichier de configuration et contient des éléments de configuration qui configurent des applications Web ASP.NET et contrôlent le comportement des applications.

Notes

L'élément httpRuntime configure des paramètres d'exécution HTTP ASP.NET qui déterminent le mode de traitement d'une demande pour une application ASP.NET. Le .NET Framework est livré avec plusieurs hôtes d'exécution différents, parmi lesquels l'hôte d'exécution ASP.NET. Lors de l'arrivée d'une demande, ASP.NET charge le paramètre de runtime dans le processus qui doit gérer la demande. ASP.NET crée également un domaine d'application pour chaque application Web qui s'exécutera sur un serveur Web.

Configuration par défaut

L'élément httpRuntime n'est pas défini explicitement dans le fichier Machine.config ni dans le fichier Web.config racine. Toutefois, les paramètres suivants sont les valeurs par défaut, telles qu'elles sont initialisées par le système. Si vous devez personnaliser cette section, vous devez la créer dans votre fichier de configuration et définir uniquement les attributs qui nécessitent une personnalisation.

<httpRuntime 
   executionTimeout="110"
   maxRequestLength="4096"
   requestLengthDiskThreshold="80"
   useFullyQualifiedRedirectUrl="false"
   minFreeThreads="8"
   minLocalRequestFreeThreads="4"
   appRequestQueueLimit="5000"
   enableKernelOutputCache="true"
   enableVersionHeader="true"
   requireRootedSaveAsPath="true"
   enable="true"
   shutdownTimeout="90"
   delayNotificationTimeout="5"
   waitChangeNotification="0"
   maxWaitChangeNotification="0"
   requestPriority="Normal"
   enableHeaderChecking="true"
   sendCacheControlHeader="true"
   apartmentThreading="false"
/>

Exemple

L'exemple suivant montre comment spécifier des paramètres d'exécution HTTP pour une application ASP.NET.

<configuration>
  <system.web>
  <httpRuntime maxRequestLength="4000"
    enable = "True"
    requestLengthDiskThreshold="512
    useFullyQualifiedRedirectUrl="True"
    executionTimeout="45"
    versionHeader="1.1.4128"/>
  </system.web>
</configuration>

Informations sur les éléments

Gestionnaire de section de configuration

HttpRuntimeSection

Membre de configuration

HttpRuntime

Emplacements configurables

Machine.config

Web.config racine

Web.config au niveau de l'application

Web.config de niveau répertoire virtuel ou physique

Configuration requise

Microsoft Internet Information Services (IIS) 5.0, 5.1 ou 6.0

.NET Framework 1.0, 1.1, 2.0

Microsoft Visual Studio 2003 ou Visual Studio 2005

Voir aussi

Tâches

Comment : configurer des répertoires spécifiques à l'aide des paramètres d'emplacement

Comment : verrouiller des paramètres de configuration ASP.NET

Concepts

Mise en cache de pages ASP.NET

Hiérarchie du fichier de configuration ASP.NET et héritage

Sécurisation de la configuration ASP.NET

Scénarios de configuration ASP.NET

Référence

system.web, élément (Schéma des paramètres ASP.NET)

configuration, élément (Schéma des paramètres généraux)

System.Configuration

System.Web.Configuration

HttpRuntimeSection

HttpRuntime

Autres ressources

Paramètres généraux de configuration (ASP.NET)

Paramètres de configuration ASP.NET

Administration de sites Web ASP.NET

API de configuration ASP.NET