<applicationPool>-Element (Webeinstellungen)
Gibt Konfigurationseinstellungen an, die von ASP.NET zur Verwaltung von prozessweitem Verhalten verwendet werden, wenn eine ASP.NET-Anwendung in IIS 7.0 oder in einer höheren Version im integrierten Modus ausgeführt wird.
Wichtig |
---|
Dieses Element und die unterstützte Funktion können nur verwendet werden, wenn die ASP.NET-Anwendung in IIS 7.0 oder in einer höheren Versionen gehostet wird. |
<applicationPool
maxConcurrentRequestsPerCPU="5000"
maxConcurrentThreadsPerCPU="0"
requestQueueLimit="5000" />
Attribute und Elemente
In den folgenden Abschnitten werden Attribute, untergeordnete Elemente und übergeordnete Elemente beschrieben.
Attribute
Attribut |
Beschreibung |
---|---|
maxConcurrentRequestsPerCPU |
Gibt an, wie viele gleichzeitigen Anforderungen von ASP.NET pro CPU zugelassen werden. |
maxConcurrentThreadsPerCPU |
Gibt an, wie viel Threads pro CPU gleichzeitig für einen Anwendungspool ausgeführt werden können. Dies stellt eine alternative Möglichkeit zur Steuerung der ASP.NET-Parallelität dar, da Sie die Anzahl der verwalteten Threads einschränken können, die pro CPU zur Behandlung von Anforderungen verwendet werden. Die Standardeinstellung ist 0. Dies bedeutet, dass ASP.NET die Anzahl der Threads nicht einschränkt, die pro CPU erstellt werden können, obwohl die Anzahl der Threads, die erstellt werden können, auch vom CLR-Threadpool eingeschränkt wird. |
requestQueueLimit |
Gibt die maximale Anzahl der Anforderungen an, die in einen einzelnen Prozess für ASP.NET in die Warteschlange gestellt werden können. Bei zwei oder mehr ASP.NET-Anwendungen, die in einem Einzelanwendungspool ausgeführt werden, ist der kumulative Satz von Anforderungen, die an eine Anwendung im Anwendungspool gestellt werden, abhängig von dieser Einstellung. |
Untergeordnete Elemente
Keine.
Übergeordnete Elemente
Element |
Beschreibung |
---|---|
Enthält Informationen darüber, wie ASP.NET mit einer Hostanwendung interagiert. |
Hinweise
Wenn Sie IIS 7.0 oder eine höhere Version im integrierten Modus ausführen, können Sie mit dieser Elementkombination angeben, wie ASP.NET Threads verwaltet und Anforderungen in die Warteschlange stellt, wenn die Anwendung in einem IIS-Anwendungspool gehostet wird. Wenn Sie IIS 6 oder IIS 7.0 im klassischen Modus oder im ISAPI-Modus ausführen, werden diese Einstellungen ignoriert.
Die applicationPool-Einstellungen gelten für alle Anwendungspools, die in einer bestimmten Version von .NET Framework ausgeführt werden. Die Einstellungen sind in einer aspnet.config-Datei enthalten. Diese Datei ist für .NET Framework, Version 2.0 und 4, verfügbar. (In .NET Framework, Version 3.0 und 3.5, wird die aspnet.config-Datei für Version 2.0 verwendet.)
Wichtig |
---|
Wenn Sie IIS 7.0 unter Windows 7 ausführen, können Sie eine separate aspnet.config-Datei für jeden Anwendungspool konfigurieren.Dies ermöglicht eine Anpassung der Leistung für die einzelnen Anwendungspools. |
Die Standardeinstellung für maxConcurrentRequestsPerCPU in .NET Framework 4 ist "5000". Dadurch wird die von ASP.NET gesteuerte Drosselung von Anforderungen deaktiviert, wenn Sie nicht mehr als 5000 Anforderungen pro CPU verwenden. Die Standardeinstellung verwendet stattdessen den CLR-Threadpool zur automatischen Verwaltung der Parallelität für die einzelnen CPUs. Anwendungen, die umfangreichen Gebrauch von asynchroner Anforderungsverarbeitung machen oder zahlreiche Langzeitanforderungen aufweisen, die in Netzwerk-E/A blockiert werden, profitieren von der erweiterten Standardgrenze in .NET Framework 4. Wenn Sie maxConcurrentRequestsPerCPU auf 0 (null) festlegen, wird die Verwendung von verwalteten Threads zur Verarbeitung von ASP.NET-Anforderungen deaktiviert. Wenn eine Anwendung in einem IIS-Anwendungspool ausgeführt wird, verbleiben Anforderungen im E/A-Thread von IIS, sodass die Parallelität durch die IIS-Threadeinstellungen gedrosselt wird.
Die requestQueueLimit-Einstellung funktioniert analog zum requestQueueLimit-Attribut des processModel-Elements, das für ASP.NET-Anwendungen in Web.config-Dateien festgelegt wird. Die requestQueueLimit-Einstellung in einer aspnet.config-Datei überschreibt jedoch die requestQueueLimit-Einstellung in einer Web.config-Datei. Wenn beide Attribute festgelegt werden (Standardeinstellung), hat also die requestQueueLimit-Einstellung in der aspnet.config-Datei Vorrang.
Beispiel
Im folgenden Beispiel wird veranschaulicht, wie prozessweites Verhalten von ASP.NET in der aspnet.config-Datei für folgendes Szenario konfiguriert wird:
Die Anwendung wird in einem IIS 7.0-Anwendungspool gehostet.
IIS 7.0 wird im integrierten Modus ausgeführt.
Die Anwendung verwendet .NET Framework 3.5 SP1 oder eine höhere Version.
Die Werte, die im Beispiel verwendet werden, sind Standardwerte.
<configuration>
<system.web>
<applicationPool
maxConcurrentRequestsPerCPU="5000"
maxConcurrentThreadsPerCPU="0"
requestQueueLimit="5000" />
</system.web>
</configuration>
Elementinformationen
Namespace |
|
Schemaname |
|
Validierungsdatei |
|
Kann leer sein |