Freigeben über


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

Wichtiger HinweisWichtig

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

<system.web>

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

Wichtiger HinweisWichtig

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

Siehe auch

Referenz

<system.web>-Element (Webeinstellungen)