httpRuntime-Element (ASP.NET-Einstellungsschema)
Konfiguriert HTTP-Laufzeiteinstellungen von ASP.NET, die bestimmen, wie eine Anforderung für eine ASP.NET-Anwendung verarbeitet wird.
<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"
/>
Attribute und Elemente
In den folgenden Abschnitten werden Attribute, untergeordnete Elemente und übergeordnete Elemente beschrieben.
Attribute
Attribute |
Beschreibungen |
---|---|
apartmentThreading |
Optionales Boolean-Attribut. Aktiviert das Apartmentthreading für die Kompatibilität mit klassischem ASP. Der Standardwert ist False. |
appRequestQueueLimit |
Optionales Int32-Attribut. Gibt die maximale Anzahl der Anforderungen an, die ASP.NET in die Warteschlange für die Anwendung einfügt. Wenn nicht genügend freie Threads für die Verarbeitung einer Anforderung vorhanden sind, werden die Anforderungen in die Warteschlange eingereiht. Eingehende Anforderungen werden mit der Fehlermeldung "503 – Der Server ist ausgelastet" abgewiesen, wenn die Größe der Warteschlange den in diesem Attribut festgelegten Wert überschreitet. Der Standardwert ist 5000. Für .NET Framework, Version 1.0 und 1.1, beträgt der Standardwert 100. |
delayNotificationTimeout |
Optionales Int32-Attribut. Gibt das Timeout für die Verzögerung von Benachrichtigungen in Sekunden an. Der Standardwert ist 5. |
enable |
Optionales Boolean-Attribut. Gibt an, ob die Anwendungsdomäne (AppDomain) eingehende Anforderungen auf der aktuellen Knotenebene und der untergeordneten Knotenebene akzeptiert. Im Falle von False wird die Anwendung wirksam deaktiviert. Die Standardeinstellung ist True. |
enableHeaderChecking |
Optionales Boolean-Attribut. Gibt an, ob ASP.NET den Anforderungsheader hinsichtlich potenzieller Injection-Angriffe überprüfen soll. Wenn ein Angriff erkannt wird, reagiert ASP.NET mit einem Fehler. Die Standardeinstellung ist True. |
enableKernelOutputCache |
Optionales Boolean-Attribut. Gibt an, ob die Zwischenspeicherung der Ausgabe aktiviert ist. Dieses Attribut ist nur relevant, wenn Microsoft Internetinformationsdienste (IIS) 6.0 oder höher installiert ist. Die Konfiguration der Zwischenspeicherung der Ausgabe und der Typ der Anforderung bestimmen, ob Inhalte zwischengespeichert werden können. Damit eine Antwort zwischengespeichert wird, müssen folgende Kriterien erfüllt sein:
Die Standardeinstellung ist True. |
enableVersionHeader |
Optionales Boolean-Attribut. Gibt an, ob ASP.NET einen Versionsheader ausgibt. Dieses Attribut wird von Microsoft Visual Studio 2005 zur Bestimmung der aktuell verwendeten Version von ASP.NET verwendet. Dieses Attribut ist für Produktionssites nicht erforderlich und kann deaktiviert werden.
Hinweis
Dieses Attribut steht in .NET Framework 1.0 nicht zur Verfügung.
Die Standardeinstellung ist True. |
encoderType |
Ruft den Namen eines benutzerdefinierten Typs ab, mit dem HTML- und URL-Codierung bearbeitet werden kann, oder legt ihn fest. ASP.NET verwendet den HttpEncoder-Typ für HTML und URL-Codierungsaufgaben als Standardhandler. Um das Codierungsverhalten anzupassen, können Sie eine Klasse erstellen, die vom HttpEncoder-Typ erbt. In der Konfigurationsdatei für eine Anwendung legen Sie dann das EncoderType-Attribut des httpRuntime-Elements auf den vollqualifizierten Zeichenfolgennamen des benutzerdefinierten Typs fest. Dieses Attribut ist neu in .NET Framework, Version 4. |
executionTimeout |
Optionales Int32-Attribut. Gibt an, wie viele Sekunden lang eine Anforderung maximal ausgeführt werden kann, bevor sie von ASP.NET automatisch beendet wird. Dieses Timeout ist nur gültig, wenn das Debugattribut im compilation-Element False ist. Falls das debug-Attribut True lautet, legen Sie für dieses Timeout keinen großen Wert fest, damit die Anwendung nicht während des Debuggens heruntergefahren wird. Der Standardwert ist 110. Für .NET Framework 1.0 und 1.1 beträgt der Standardwert90 Sekunden. |
maxRequestLength |
Optionales Int32-Attribut. Gibt die Grenze des Pufferungsschwellenwerts für den Eingabestream in KB an. Diese Grenze kann zum Verhindern von Denial-of-Service-Angriffen verwendet werden, die beispielsweise dadurch verursacht werden, dass Benutzer große Dateien auf dem Server bereitstellen. Der Standardwert ist 4096. Wenn der Schwellenwert überschritten wird, wird eine ConfigurationErrorsException-Ausnahme ausgelöst. |
maxWaitChangeNotification |
Optionales Int32-Attribut. Gibt die maximale Anzahl von Sekunden an, die nach der ersten Benachrichtigung über eine Dateiänderung gewartet wird, bevor AppDomain für eine neue Anforderung neu gestartet wird. Legen Sie dieses Attribut auf einen Wert fest, der größer ist als die Zeit, die für das Beenden aller Dateikopiervorgänge benötigt wird. Zusammen mit dem waitChangeNotification-Attribut bildet der Wert dieses Attributs die Grundlage für Benachrichtigungen über Dateiänderungen. Der Standardwert ist 0. |
minFreeThreads |
Optionales Int32-Attribut. Gibt die Mindestanzahl freier Threads an, um die Ausführung neuer lokaler Anforderungen zu ermöglichen. Die angegebene Anzahl von Threads bleibt in ASP.NET für Anforderungen verfügbar, deren vollständige Verarbeitung zusätzliche Threads erfordert. Der Standardwert ist 8. |
minLocalRequestFreeThreads |
Optionales Int32-Attribut. Gibt die Mindestanzahl freier Threads an, die in ASP.NET verfügbar bleiben, um die Ausführung neuer lokaler Anforderungen zu ermöglichen. Die angegebene Anzahl von Threads bleibt für Anforderungen des lokalen Hosts reserviert für den Fall, dass einige Anforderungen während ihrer Verarbeitung untergeordnete Anforderungen an den lokalen Host ausgeben. Dadurch werden mögliche Engpässe beim rekursiven Wiedereintreten in den Webserver verhindert. Der Standardwert ist 4. |
requestLengthDiskThreshold |
Optionales Int32-Attribut. Gibt die Grenze des Pufferungsschwellenwerts für den Eingabestream in Kilobyte an. Der Wert sollte nicht größer als das maxRequestLength-Attribut sein. Der Standardwert ist 80. |
requestValidationMode |
Optionales Int32-Attribut. Ruft eine Versionsnummer ab, die angibt, welche ASP.NET-versionsspezifische Validierungsmethode verwendet wird, oder legt diese fest. Der Wert, den Sie dieser Eigenschaft zuweisen, wird nicht daraufhin überprüft, ob er einer bestimmten Version von ASP.NET zu entspricht. Jeder numerische Wert, der kleiner als 4.0 (z. B. 3.7, 2.9 oder 2.0) ist, wird als 2.0 interpretiert. Jede Zahl, die größer als 4.0 ist, wird als 4.0 interpretiert. Der Standardwert ist 4.0. |
requestValidationType |
Optionales String-Attribut. Ruft den Namen eines Typs ab, der zur Validierung von HTTP-Anforderungen dient, oder legt ihn fest. Um das ASP.NET-Anforderungsvalidierungsverhalten anzupassen, können Sie eine Klasse erstellen, die vom RequestValidator-Typ erbt. In der Konfigurationsdatei für eine Anwendung legen Sie dann das requestValidationType-Attribut des httpRuntime-Elements auf den vollqualifizierten Zeichenfolgennamen des benutzerdefinierten Typs fest. Die Standardeinstellung ist der vollqualifizierte Name des RequestValidator-Typs, der von ASP.NET zur Validierung verwendet wird. |
requireRootedSaveAsPath |
Optionales Boolean-Attribut. Gibt an, ob der filename-Parameter einer SaveAs-Methode ein absoluter Pfad sein muss. Der ASP.NET-Prozess muss über die Berechtigung zum Erstellen von Dateien an dem angegebenen Speicherort verfügen. Die Standardeinstellung ist True. |
sendCacheControlHeader |
Optionales Boolean-Attribut. Gibt an, ob ein Cachesteuerelementheader gesendet werden soll. Die Standardeinstellung ist Private. Bei True ist clientseitiges Caching deaktiviert. Die Standardeinstellung ist True. |
shutdownTimeout |
Optionales Int32-Attribut. Gibt die Anzahl der Sekunden an, die für das Beenden des Arbeitsprozesses zur Verfügung stehen. Nach Ablauf des Timeouts beendet ASP.NET den Arbeitsprozess. Der Standardwert ist 90 Sekunden. |
useFullyQualifiedRedirectUrl |
Optionales Boolean-Attribut. Gibt an, ob clientseitige Umleitungen vollqualifiziert sind (unter Verwendung des für einige mobile Steuerelemente erforderlichen Formats "https://server/path") oder ob stattdessen relative Umleitungen an den Client gesendet werden. Bei True werden alle Umleitungen, die nicht vollqualifiziert sind, automatisch in ein vollqualifiziertes Format konvertiert.
Hinweis
Wenn dieses Attribut auf False festgelegt ist, können bei einigen Browsern Probleme auftreten, wenn Sie Seiten in Sitzungen ohne Cookies laden.
Der Standardwert ist False. |
waitChangeNotification |
Optionales Int32-Attribut. Gibt die Zeitdauer in Sekunden an, die auf eine weitere Benachrichtigung über eine Dateiänderung abgewartet werden muss, bevor AppDomain neu gestartet wird. Legen Sie dieses Attribut auf einen Wert fest, der größer ist als die Zeit, die zwischen den Aktualisierungen zweier Änderungsbenachrichtigungen über das Kopieren von Dateien liegt. Zusammen mit dem maxWaitChangeNotification -Attribut bildet der Wert dieses Attributs die Grundlage für Benachrichtigungen über Dateiänderungen. Der Standardwert ist 0. |
Untergeordnete Elemente
Keine.
Übergeordnete Elemente
Element |
Beschreibungen |
---|---|
configuration |
Das erforderliche Stammelement in jeder Konfigurationsdatei, die von der Common Language Runtime und den .NET Framework-Anwendungen verwendet wird. |
system.web |
Gibt das Stammelement für die ASP.NET-Konfigurationseinstellungen in einer Konfigurationsdatei an und enthält Konfigurationselemente, die ASP.NET-Webanwendungen konfigurieren und das Verhalten der Anwendungen steuern. |
Hinweise
Das httpRuntime-Element konfiguriert die HTTP-Laufzeiteinstellungen von ASP.NET, die bestimmen, wie eine Anforderung einer ASP.NET-Anwendung verarbeitet wird. .NET Framework enthält eine Reihe verschiedener Laufzeithosts, darunter den ASP.NET-Laufzeithost. Beim Empfang einer Anforderung lädt ASP.NET die Laufzeiteinstellung in den Prozess, der für die Verarbeitung der Anforderung zuständig ist. ASP.NET erstellt auch eine Anwendungsdomäne für jede Webanwendung, die auf einem Webserver ausgeführt wird.
Standardkonfiguration
Das httpRuntime-Element wird nicht explizit in der Datei Machine.config oder der Stammdatei Web.config definiert. Die folgenden Einstellungen sind jedoch die Standardwerte, die vom System initialisiert werden. Wenn Sie diesen Abschnitt anpassen möchten, müssen Sie ihn in der Konfigurationsdatei erstellen und nur die Attribute definieren, die angepasst werden sollen.
<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"
/>
Beispiel
Im folgenden Beispiel wird veranschaulicht, wie HTTP-Laufzeitparameter für eine ASP.NET-Anwendung angegeben werden.
<configuration>
<system.web>
<httpRuntime maxRequestLength="4000"
enable = "True"
requestLengthDiskThreshold="512
useFullyQualifiedRedirectUrl="True"
executionTimeout="45"
versionHeader="1.1.4128"/>
</system.web>
</configuration>
Elementinformationen
Konfigurationsabschnittshandler |
|
Konfigurationsmember |
|
Konfigurierbare Speicherorte |
Machine.config Web.config auf der Stammebene Web.config auf der Anwendungsebene Web.config auf der Ebene virtueller oder physikalischer Verzeichnisse |
Anforderungen |
Microsoft Internetinformationsdienste (IIS), Version 5.0, 5.1 oder 6.0 .NET Framework 1.0, 1.1, 2.0 Microsoft Visual Studio 2003 oder Visual Studio 2005 |
Siehe auch
Referenz
system.web-Element (ASP.NET-Einstellungsschema)
configuration-Element (allgemeines Einstellungsschema)
Konzepte
Zwischenspeichern von ASP.NET-Seiten
ASP.NET-Konfigurationsdateihierarchie und Vererbung
Absichern der ASP.NET-Konfiguration
Weitere Ressourcen
Allgemeine Konfigurationseinstellungen (ASP.NET)