Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Übersicht
Das <add> Element des <applicationPools> Elements steuert die Konfigurationseinstellungen für einen IIS 7- und höher-Anwendungspool. Sie erstellen ein <add> Element in der ApplicationHost.config-Datei für jeden Anwendungspool, den Sie auf Ihrem IIS-Server ausführen möchten.
Das <add> Element kann Attribute und untergeordnete Elemente enthalten, die den Pipelineverarbeitungsmodus und die Version von .NET Framework konfigurieren, die die Arbeitsprozesse im Anwendungspool für eingehende Anforderungen verwenden. Dieses Element enthält auch untergeordnete Elemente, die Anwendungspool-Identitäts-, Leistungs- und Integritäts- und Recycling-Anwendungspooleinstellungen konfigurieren.
Wenn Sie einen neuen Anwendungspool in IIS 7 und höher erstellen, müssen Sie mindestens dem Anwendungspool einen eindeutigen Namen zuweisen. Konfigurieren Sie alle anderen Eigenschaften nach Bedarf für die Anwendungen, die den Anwendungspool verwenden.
Neu in IIS 7.5 und höher
Ab IIS 7.5 können Sie eine Anwendung so konfigurieren, dass sie automatisch gestartet wird, indem Sie die Attribute managedRuntimeLoader, CLRConfigFile und startMode des <add> Elements verwenden. Diese Attribute konfigurieren den Namen der verwalteten DLL, die das Laden der Laufzeit für Ihre Anwendung, die Konfigurationsdatei für die Common Language Runtime für die Anwendung und den Starttyp für die Anwendung bereitstellt.
Auch neu in IIS 7.5 und höher ist ein neuer ApplicationPoolIdentity Typ für das Attribut IdentityType des <processModel> Elements. Dieser neue Identitätstyp ist jetzt die Standardprozessidentität für Anwendungen und ermöglicht es, die Sicherheit für Ihre Inhaltsbereiche festzulegen, um den Zugriff für einen bestimmten Anwendungspool zu ermöglichen. Dazu legen Sie Ihre Sicherheit mithilfe des Namens eines Anwendungspools mithilfe von Syntax wie „IIS AppPool\DefaultAppPool“ fest. Diese Identität wird dynamisch erstellt, wodurch der Angriffsbereich des Servers erheblich reduziert wird.
Kompatibilität
| Version | Hinweise |
|---|---|
| IIS 10.0 | Das <add> Element wurde in IIS 10.0 nicht geändert. |
| IIS 8.5 | Das <add> Element wurde in IIS 8.5 nicht geändert. |
| IIS 8.0 | Der Standardwert des managedRuntimeVersion Attributs wurde geändert zu ""und v4.0 wurde als Wert hinzugefügt für managedRuntimeVersion. |
| IIS 7.5 | Das Element <add> des Elements <applicationPools> wurde in IIS 7.5 aktualisiert, um Attribute einzuschließen, mit denen Sie Anwendungen vorab laden können. |
| IIS 7.0 | Das Element <add> der Sammlung <applicationPools> wurde in IIS 7.0 eingeführt. |
| IIS 6.0 | Die Sammlung <applicationPools> ersetzt Teile der IIS 6.0 Metabase-Eigenschaft IIsApplicationPools . |
Setup
Die Sammlung <applicationPools> ist in der Standardinstallation von IIS 7 und höher enthalten.
Gewusst wie
Erstellen eines neuen Anwendungspools
Öffnen Sie den Internet Information Services (IIS) Manager:
Wenn Sie Windows Server 2012 oder Windows Server 2012 R2 verwenden:
- Klicken Sie der der Taskleiste auf Server-Managerdann auf Toolsund dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows 8 oder Windows 8.1 verwenden:
- Halten Sie die Windows-Taste gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf "Systemsteuerung".
- Klicken Sie auf Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows Server 2008 oder Windows Server 2008 R2 verwenden:
- Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltungund dann auf den Internet Information Services (IIS) Manager.
Wenn Sie Windows Vista oder Windows 7 verwenden:
- Klicken Sie auf der Taskleiste auf "Start" und dann auf "Systemsteuerung".
- Doppelklicken Sie auf Verwaltungund doppelklicken Sie dann auf den Internet Information Services (IIS) Manager.
Erweitern Sie im Bereich Verbindungen den Servernamen und klicken Sie dann auf Anwendungspools.
Klicken Sie im Bereich Aktionen auf Anwendungspool hinzufügen ....
Geben Sie im Dialogfeld Anwendungspool hinzufügen den Namen des Anwendungspools in das Feld Name: ein, wählen Sie in der Dropdownliste .NET Framework-Version: die .NET Framework-Version aus, die Ihre Website oder Anwendung verwendet, wählen Sie in der Dropdownliste Verwendete-Pipeline-Modus: Integriert oder Klassisch aus, und klicken Sie dann auf "OK".

Konfigurieren des Anwendungspools für eine vorhandene Site oder eine vorhandene Anwendung
- Erweitern Sie im Bereich VerbindungenSites, und navigieren Sie dann zur Site oder Anwendung, die Sie dem Anwendungspool hinzufügen möchten.
- Klicken Sie im Bereich Aktionen auf Erweiterte Einstellungen ...
- Klicken Sie im Abschnitt Allgemein des Dialogfelds Erweiterte Einstellungen auf den Eintrag Anwendungspool, und klicken Sie dann auf die Schaltfläche mit den Auslassungspunkten.

- Wählen Sie im Dialogfeld Anwendungspool auswählen den Anwendungspool aus dem Dropdownfeld Anwendungspool:, klicken Sie auf OK, und klicken Sie dann erneut auf OK ".

Konfiguration
Das Element <add> der Sammlung <applicationPools> kann auf Serverebene in der Datei ApplicationHost.config konfiguriert werden.
Attribute
| Attribut | Beschreibung | ||||||||
|---|---|---|---|---|---|---|---|---|---|
autoStart |
Optionales boolesches Attribut. Wenn true, dann zeigt das dem World Wide Web Publishing Service (W3SVC), dass der Anwendungspool automatisch gestartet werden soll, wenn er erstellt wird oder wenn IIS gestartet wird. Der Standardwert ist true. |
||||||||
CLRConfigFile |
Optionaler Zeichenfolgenwert. Gibt die .NET-Konfigurationsdatei für den Anwendungspool an. Hinweis: Dieses Attribut wurde in IIS 7.5 hinzugefügt. Es ist kein Standardwert vorhanden. |
||||||||
enable32BitAppOnWin64 |
Optionales boolesches Attribut. Wenn true, dann kann eine 32-Bit-Anwendung auf einem Computer ausgeführt werden, auf dem eine 64-Bit-Version von Windows ausgeführt wird. Der Standardwert ist false. |
||||||||
enableConfigurationOverride |
Optionales boolesches Attribut. Wenn true, dann gibt das an, dass delegierte Einstellungen in Web.config-Dateien für Anwendungen innerhalb dieses Anwendungspools verarbeitet werden. Wenn false, dann werden alle Einstellungen in Web.config-Dateien für diesen Anwendungspool ignoriert. Der Standardwert ist true. |
||||||||
managedPipelineMode |
Optionales Enumerationsattribut. Gibt den Anforderungsverarbeitungsmodus an, der zum Verarbeiten von Anforderungen für verwaltete Inhalte verwendet wird. Das Attribut managedPipelineMode kann einen der folgenden möglichen Werte aufweisen.
Integrated. |
||||||||
managedRuntimeLoader |
Optionales Zeichenfolgeattribut. Gibt das verwaltete Ladeprogramm an, das zum Vorabladen des Anwendungspools verwendet werden soll. Hinweis: Dieses Attribut wurde in IIS 7.5 hinzugefügt. Der Standardwert ist webengine4.dll. |
||||||||
managedRuntimeVersion |
Optionales Zeichenfolgeattribut. Gibt die CLR-Version an, die vom Anwendungspool verwendet werden soll. Das Attribut managedRuntimeVersion kann einer der folgenden möglichen Werte sein:
"". |
||||||||
name |
Erforderliches Zeichenfolgenattribut. Gibt einen eindeutigen Namen für einen Anwendungspool auf dem Server an. |
||||||||
passAnonymousToken |
Optionales boolesches Attribut. Wenn true, dann erstellt und übergibt der Windows-Prozessaktivierungsdienst (WAS) ein Token für das integrierte anonyme IUSR-Benutzerkonto an das Modul „Anonyme Authentifizierung“. Das Modul „Anonyme Authentifizierung“ verwendet das Token zum Identitätswechsel des integrierten Kontos. Wenn PassAnonymousToken false ist, wird das Token nicht übergeben. Hinweis: Das anonyme Benutzerkonto des IUSR ersetzt den IIS_MachineName des anonymen Kontos. Das IUSR-Konto kann von IIS oder anderen Anwendungen verwendet werden. Es verfügt über keine Berechtigungen, die ihm während des Setups zugewiesen wurden. Der Standardwert ist true. |
||||||||
queueLength |
Optionales Uint-Attribut. Teilt HTTP.sys mit, wie viele Anforderungen für einen Anwendungspool in die Warteschlange gestellt werden, bevor zukünftige Anfragen abgelehnt werden. Der Standardwert ist 1000.Wenn der Wert für diese Eigenschaft überschritten wird, lehnt IIS nachfolgende Anfragen mit dem Fehler 503 ab. Wenn die Einstellung loadBalancerCapabilitiestrue ist, dann wird die Verbindung geschlossen, anstatt Anfragen mit 503 abzulehnen. Weitere Informationen zu loadBalancerCapabilitiesfinden Sie unter Fehlereinstellungen für einen Anwendungspool. |
||||||||
startMode |
Optionaler Enumerationswert. Gibt den Starttyp für den Anwendungspool an. Hinweis: Dieses Attribut wurde in IIS 7.5 hinzugefügt. Das Attribut startMode kann einer der folgenden möglichen Werte sein:
OnDemand. |
Untergeordnete Elemente
| Element | Beschreibung |
|---|---|
cpu |
Konfiguriert CPU-Affinität und CPU-Aktionen. |
environmentVariables |
Konfiguriert eine Sammlung von Umgebungsvariablen, die an Arbeitsprozesse übergeben werden. |
failure |
Konfiguriert Aktionen, die ausgeführt werden sollen, wenn ein Anwendungspool fehlschlägt. |
processModel |
Konfiguriert Prozessverwaltungsattribute für einen Anwendungspool. |
recycling |
Konfiguriert das Recycling des Anwendungspools. |
Konfigurationsbeispiel
Im folgenden Konfigurationsbeispiel wird das Anwendungspoolelement <add> verwendet, um einen neuen Anwendungspool namens Contoso zu erstellen. Das Element <recycling> konfiguriert die Protokollierung für den Neustart des Anwendungspools, das Element <periodicRestart> konfiguriert, wann der Anwendungspool neu gestartet wird, und das Element <processModel> konfiguriert die Attribute shutdownTimeLimit und startupTimeLimit für das Herunterfahren und Starten der Arbeitsprozesse im Anwendungspool für jeweils 30 Sekunden. Wenn diese Zeitlimits überschritten werden, beendet IIS den Arbeitsprozess.
<add name="Contoso">
<recycling logEventOnRecycle="Schedule">
<periodicRestart>
<schedule>
<clear />
<add value="03:00:00" />
</schedule>
</periodicRestart>
</recycling>
<processModel identityType="NetworkService" shutdownTimeLimit="00:00:30" startupTimeLimit="00:00:30" />
</add>
Beispielcode
Die folgenden Codebeispiele fügen einen Anwendungspool namens Contoso zu Ihrem IIS 7- und höher-Server hinzu, und legen dann den Anwendungspool zum täglichen Wiederverwenden um 3:00 Uhr fest.
AppCmd.exe
appcmd.exe set config -section:system.applicationHost/applicationPools /+"[name='Contoso']" /commit:apphost
appcmd.exe set config -section:system.applicationHost/applicationPools /+"[name='Contoso'].recycling.periodicRestart.schedule.[value='03:00:00']" /commit:apphost
Sie können auch die folgende Syntax verwenden:
appcmd.exe add apppool /name:"Contoso"
appcmd.exe set config -section:system.applicationHost/applicationPools /+"[name='Contoso'].recycling.periodicRestart.schedule.[value='03:00:00']" /commit:apphost
Hinweis
Sie müssen unbedingt den Parameter commit auf apphost festlegen, wenn Sie AppCmd.exe verwenden, um diese Einstellungen zu konfigurieren. Dadurch werden die Konfigurationseinstellungen auf den entsprechenden Speicherortabschnitt in der Datei ApplicationHost.config festgelegt.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection applicationPoolsSection = config.GetSection("system.applicationHost/applicationPools");
ConfigurationElementCollection applicationPoolsCollection = applicationPoolsSection.GetCollection();
ConfigurationElement addElement = applicationPoolsCollection.CreateElement("add");
addElement["name"] = @"Contoso";
ConfigurationElement recyclingElement = addElement.GetChildElement("recycling");
ConfigurationElement periodicRestartElement = recyclingElement.GetChildElement("periodicRestart");
ConfigurationElementCollection scheduleCollection = periodicRestartElement.GetCollection("schedule");
ConfigurationElement addElement1 = scheduleCollection.CreateElement("add");
addElement1["value"] = TimeSpan.Parse("03:00:00");
scheduleCollection.Add(addElement1);
applicationPoolsCollection.Add(addElement);
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim applicationPoolsSection As ConfigurationSection = config.GetSection("system.applicationHost/applicationPools")
Dim applicationPoolsCollection As ConfigurationElementCollection = applicationPoolsSection.GetCollection
Dim addElement As ConfigurationElement = applicationPoolsCollection.CreateElement("add")
addElement("name") = "Contoso"
Dim recyclingElement As ConfigurationElement = addElement.GetChildElement("recycling")
Dim periodicRestartElement As ConfigurationElement = recyclingElement.GetChildElement("periodicRestart")
Dim scheduleCollection As ConfigurationElementCollection = periodicRestartElement.GetCollection("schedule")
Dim addElement1 As ConfigurationElement = scheduleCollection.CreateElement("add")
addElement1("value") = TimeSpan.Parse("03:00:00")
scheduleCollection.Add(addElement1)
applicationPoolsCollection.Add(addElement)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var applicationPoolsSection = adminManager.GetAdminSection("system.applicationHost/applicationPools", "MACHINE/WEBROOT/APPHOST");
var applicationPoolsCollection = applicationPoolsSection.Collection;
var addElement = applicationPoolsCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "Contoso";
var recyclingElement = addElement.ChildElements.Item("recycling");
var periodicRestartElement = recyclingElement.ChildElements.Item("periodicRestart");
var scheduleCollection = periodicRestartElement.ChildElements.Item("schedule").Collection;
var addElement1 = scheduleCollection.CreateNewElement("add");
addElement1.Properties.Item("value").Value = "03:00:00";
scheduleCollection.AddElement(addElement1);
applicationPoolsCollection.AddElement(addElement);
adminManager.CommitChanges();
VBScript
Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set applicationPoolsSection = adminManager.GetAdminSection("system.applicationHost/applicationPools", "MACHINE/WEBROOT/APPHOST")
Set applicationPoolsCollection = applicationPoolsSection.Collection
Set addElement = applicationPoolsCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "Contoso"
Set recyclingElement = addElement.ChildElements.Item("recycling")
Set periodicRestartElement = recyclingElement.ChildElements.Item("periodicRestart")
Set scheduleCollection = periodicRestartElement.ChildElements.Item("schedule").Collection
Set addElement1 = scheduleCollection.CreateNewElement("add")
addElement1.Properties.Item("value").Value = "03:00:00"
scheduleCollection.AddElement(addElement1)
applicationPoolsCollection.AddElement(addElement)
adminManager.CommitChanges()