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

[Cette documentation constitue un aperçu et pourra faire l'objet de modifications dans les versions ultérieures. Des rubriques vierges sont incluses en tant qu'espaces réservés.]

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 = "string"
   executionTimeout = "number" 
   maxQueryStringLength = "number"
   maxRequestLength = "number" 
   maxUrlLength = "number"
   maxWaitChangeNotification = "number" 
   minFreeThreads = "number" 
   minLocalRequestFreeThreads = "number" 
   relaxedUrlToFileSystemMapping = "[True|False]"
   requestLengthDiskThreshold = "number" 
   requestPathInvalidCharacters = "string"
   requestValidationMode = "[2.0|4.0]"
   requestValidationType = "string"
   requireRootedSaveAsPath = "[True|False]"
   sendCacheControlHeader = "[True|False]" 
   shutdownTimeout = "number"
   targetFramework = "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.

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

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

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

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

La valeur par défaut est True.

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 s'applique uniquement si le débogage d'attribut dans le compilation élément est False . Par conséquent, si la debug l'attribut est True , vous n'avez pas à définir cet attribut sur une grande valeur afin d'éviter l'arrêt de l'application pendant que vous déboguez.

La valeur par défaut est 110 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 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.

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 définissez ensuite la requestValidationType l'attribut de la httpRuntime élément sur 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.

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

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

La valeur par défaut est 90 secondes.

targetFramework

Attribut String facultatif.

Spécifie le numéro de version qui indique quel cadre spécifique à la version de Common Language Runtime (CLR) sera utilisée. Si cet attribut est omis, le framework cible est défini à 4.0.

La valeur par défaut est Null.

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.

NoteNote
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 secondes.

maxQueryStringLength

Attribut Int32 facultatif.

Longueur maximale de la chaîne de requête, exprimée en nombre de caractères. La valeur par défaut est 2048.

La valeur de la propriété MaxQueryStringLength peut être un entier, zéro ou supérieur. Si la longueur d'une chaîne de requête dépasse la taille limite, ASP.NET retourne un code d'état HTTP 400 (Demande incorrecte).

NoteNote
Des valeurs extrêmement petites peuvent rendre un site Web inutilisable.
NoteNote
Il existe également un paramètre IIS qui contrôle la longueur de chaîne de requête.Voir la maxQueryString l'attribut dans le Limites de la demande <requestLimits>.

maxUrlLength

Attribut Int32 facultatif.

La longueur maximale de l'URL, en nombre de caractères. La valeur par défaut est 260.

La valeur de la propriété MaxUrlLength peut être un entier, zéro ou supérieur.

Si la longueur de l'URL de requête (laquelle est la valeur de la propriété Path) dépasse la limite de taille configurée, ASP.NET retourne un code d'état HTTP 400 (Demande incorrecte).

NoteNote
Des valeurs extrêmement petites peuvent rendre un site Web inutilisable. Il existe également un paramètre IIS qui contrôle la longueur de chaîne de requête.Voir la maxQueryString l'attribut dans le Limites de la demande <requestLimits>.

relaxedUrlToFileSystemMapping

Attribut Boolean facultatif.

Indique si l'URL dans une requête HTTP est requis pour être un chemin de fichier Windows valide.

La propriété RelaxedUrlToFileSystemMapping détermine la manière dont l'URL dans une requête HTTP entrante sera validée. Si cette propriété est false, l'URL est validée à l'aide des mêmes règles qui déterminent si un chemin d'accès de système de fichiers Windows est valide.

requestPathInvalidCharacters

Attribut String facultatif.

Une liste séparée par des virgules des caractères non valides dans un chemin d'accès de la demande. La liste suivante contient le jeu de caractères non valides par défaut :

<,>,*,%,&,:,\

É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 
   apartmentThreading="false"
   appRequestQueueLimit="5000"
   delayNotificationTimeout="5"
   enable="true"
   enableHeaderChecking="true"
   enableKernelOutputCache="true"
   enableVersionHeader="true"
   encoderType = "System.Web.Util.HttpEncoder"
   executionTimeout="110"
   maxQueryStringLength = "2048"
   maxRequestLength="4096"
   maxUrlLength = "260"
   maxWaitChangeNotification="0"
   minFreeThreads="8"
   minLocalRequestFreeThreads="4"
   relaxedUrlToFileSystemMapping = "False"
   requestLengthDiskThreshold="80"
   requestPathInvalidCharacters = "<,>,*,%,&,:,\"
   requestValidationMode = "4.0"
   requestValidationType = "System.Web.Util.RequestValidator"
   requireRootedSaveAsPath="true"
   sendCacheControlHeader="true"
   shutdownTimeout="90"
   useFullyQualifiedRedirectUrl="false"
   waitChangeNotification="0" />

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 ou version ultérieure

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

Securing Configuration

Autres ressources

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

Configuring ASP.NET Applications