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

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.

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

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.

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. Pour les versions 1.0 et 1.1 du .NET Framework, la valeur par défaut est 100.

delayNotificationTimeout

Attribut Int32 facultatif.

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

La valeur par défaut est 5.

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.

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é.

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

La valeur par défaut est True.

encoderType

Obtient ou définit le nom d'un type personnalisé qui peut être utilisé pour gérer l'encodage HTML et URL.

ASP.NET utilise le type HttpEncoder comme gestionnaire par défaut pour les tâches d'encodage HTML et URL. Pour personnaliser le comportement d'encodage, vous pouvez créer une classe qui hérite du type HttpEncoder. Dans le fichier de configuration pour une application, vous affectez ensuite à l'attribut EncoderType de l'élément httpRuntime le nom de chaîne qualifié complet du type personnalisé.

Cet attribut est une nouveauté de .NET Framework version 4.

executionTimeout

Attribut Int32 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. 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. Si le seuil est dépassé, une exception 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.

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 interblocage 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.

La valeur par défaut est 80.

requestValidationMode

Attribut Int32 facultatif.

Obtient ou définit un numéro de version qui indique le mode de validation spécifique à la version d'ASP.NET qui sera utilisé.

La valeur que vous assignez à cette propriété n'est pas validée pour correspondre à une version spécifique d'ASP.NET. Toute valeur numérique inférieure à 4.0 (par exemple, 3.7, 2.9 ou 2.0) est interprétée comme 2.0. Tout nombre supérieur à 4.0 est interprété comme 4.0.

La valeur par défaut est 4.0.

requestValidationType

Attribut String facultatif.

Obtient ou définit le nom d'un type utilisé pour valider les requêtes HTTP.

Pour personnaliser le comportement de validation de la demande ASP.NET, vous pouvez créer une classe qui hérite du type RequestValidator. Dans le fichier de configuration pour une application, vous affectez ensuite à l'attribut requestValidationType de l'élément httpRuntime le nom de chaîne qualifié complet du type personnalisé.

La valeur par défaut est le nom qualifié complet du type RequestValidator utilisé par ASP.NET pour la validation.

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é.

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.

La valeur par défaut est True.

shutdownTimeout

Attribut Int32 facultatif.

Spécifie le nombre de secondes 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.

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.

RemarqueRemarque
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 .

La valeur par défaut est 0.

É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

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

HttpRuntimeSection

HttpRuntime

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

Autres ressources

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

Paramètres de configuration ASP.NET

Administration de site Web ASP.NET