Пул приложений по умолчанию <applicationPoolDefaults>

Общие сведения

Коллекция <applicationPoolDefaults><applicationPools> коллекции настраивает значения по умолчанию для всех пулов приложений на веб-сервере.

Примечание

Все значения по умолчанию, которые явно не определены в <applicationPoolDefaults> коллекции, по-прежнему наследуют значения по умолчанию в схеме IIS 7 и более поздних версий, а отдельные параметры пула приложений переопределяют все значения по умолчанию.

Совместимость

Версия Примечания
IIS 10.0 Элемент <applicationInitialization> не был изменен в IIS 10.0.
IIS 8,5 Элемент <applicationInitialization> не был изменен в IIS 8.5.
IIS 8,0 В IIS 8.0 добавлено managedRuntimeVersion другое значение ("v4.0"), а его значение по умолчанию было изменено на "" вместо "v2.0".
IIS 7,5 Элемент <applicationPoolDefaults> не был изменен в IIS 7.5.
IIS 7.0 Элемент <applicationPoolDefaults> появился в IIS 7.0.
IIS 6,0 Элемент <applicationPoolDefaults> заменяет части свойства метабазы IIsApplicationPools IIS 6.0.

Настройка

Коллекция <applicationPools> включена в установку iis 7 и более поздних версий по умолчанию.

Инструкции

Настройка значений по умолчанию для пула приложений

  1. Откройте диспетчер служб IIS:

    • Если вы используете Windows Server 2012 или Windows Server 2012 R2:

      • На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
    • Если вы используете Windows 8 или Windows 8.1:

      • Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
      • Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
    • Если вы используете Windows Server 2008 или Windows Server 2008 R2:

      • На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем выберите Пункт Диспетчер служб IIS.
    • Если вы используете Windows Vista или Windows 7:

      • На панели задач нажмите кнопку Пуск, а затем панель управления.
      • Дважды щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
  2. В области Подключения разверните имя сервера и щелкните Пулы приложений.

  3. В области Действия щелкните Задать значения по умолчанию для пула приложений...
    Снимок экрана: экран

  4. В диалоговом окне Пул приложений по умолчанию укажите нужные параметры.
    Снимок экрана: диалоговое окно по умолчанию пула приложений.

  5. Завершив задание параметров, нажмите кнопку ОК.

Конфигурация

Атрибуты

Атрибут Описание
autoStart Дополнительный логический атрибут.

Значение true указывает службе W3SVC, что пул приложений должен быть автоматически запущен при его создании или при запуске СЛУЖБ IIS.

Значение по умолчанию — true.
CLRConfigFile Необязательное строковое значение.

Указывает файл конфигурации .NET для пула приложений.

Примечание: Этот атрибут был добавлен в IIS 7.5.

Значение по умолчанию отсутствует.
enable32BitAppOnWin64 Дополнительный логический атрибут.

Если задано значение true, это позволяет запускать 32-разрядное приложение на компьютере под управлением 64-разрядной версии Windows.

Значение по умолчанию — false.
managedPipelineMode Необязательный атрибут перечисления.

Указывает режим обработки запросов, используемый для обработки запросов на управляемое содержимое.

Атрибут managedPipelineMode может быть одним из следующих возможных значений. Значение по умолчанию — Integrated.
Значение Описание
Classic Указывает, что пул приложений использует отдельные службы IIS и ASP.NET конвейеры обработки запросов, которые работают с приложениями ASP.NET версии 1.1 и ASP.NET приложениями версии 2.0, которые не работают в режиме интеграции.

Числовое значение равно 1.
Integrated Указывает, что пул приложений использует интегрированные службы IIS и ASP.NET конвейер обработки запросов, который работает только с приложениями ASP.NET 2.0 или более поздних версий.

Числовое значение равно 0.
managedRuntimeLoader Необязательный строковый атрибут.

Указывает управляемый загрузчик, используемый для предварительной загрузки пула приложений.

Примечание: Этот атрибут был добавлен в IIS 7.5.

Значение по умолчанию — webengine4.dll.
managedRuntimeVersion Необязательный строковый атрибут.

Указывает версию платформа .NET Framework, используемую пулом приложений.

Атрибут managedRuntimeVersion может быть одним из следующих возможных значений. Значение по умолчанию — "".
Значение Описание
v1.1 Указывает, что пул приложений использует платформа .NET Framework версии 1.1.
v2.0 Указывает, что пул приложений использует платформа .NET Framework версии 2.0.
v4.0 Указывает, что пул приложений использует платформа .NET Framework версии 4.0.
name Обязательный строковый атрибут.

Указывает уникальное имя пула приложений на сервере.
queueLength Необязательный атрибут uint.

Указывает, HTTP.sys, сколько запросов в очереди для пула приложений перед отклонением будущих запросов.

При превышении значения, заданного для этого свойства, СЛУЖБЫ IIS отклоняют последующие запросы с ошибкой 503. Если параметр loadBalancerCapabilities имеет значение true, соединение закрывается, а не отклоняет запросы с 503. Дополнительные сведения о loadBalancerCapabilities см. в разделе Параметры сбоя для пула приложений.

Значение по умолчанию — 1000.
startMode Необязательное значение перечисления.

Указывает тип запуска для пула приложений.

Примечание: Этот атрибут был добавлен в IIS 7.5.

Атрибут startMode может быть одним из следующих возможных значений. Значение по умолчанию — OnDemand.
Значение Описание
AlwaysRunning Указывает, что служба активации windows (WAS) всегда будет запускать пул приложений. Такое поведение позволяет приложению загружать операционную среду перед обслуживанием любых HTTP-запросов, что сокращает начальную обработку начальных HTTP-запросов для приложения.

Числовое значение равно 1.
OnDemand Указывает, что служба активации процессов Windows (WAS) запустит пул приложений при выполнении HTTP-запроса для приложения, размещенного в пуле приложений. Это поведение похоже на поведение WAS в предыдущих версиях IIS.

Числовое значение равно 0.

Дочерние элементы

Элемент Описание
cpu Настраивает сходство ЦП и действия ЦП.
environmentVariables Настраивает коллекцию переменных среды для передачи рабочим процессам.
failure Настраивает действия, выполняемые при сбое пула приложений.
processModel Настраивает атрибуты управления процессами для пула приложений.
recycling Настраивает перезапуск пула приложений.

Образец конфигурации

В следующем примере конфигурации по умолчанию для всех пулов приложений указывается удостоверение встроенного пула приложений, а в качестве количества запросов по умолчанию указывается 200, после которого пулы приложений перезапускаются.

<applicationPools>
   <add name="DefaultAppPool" />
   <applicationPoolDefaults>
      <processModel identityType="ApplicationPoolIdentity" />
      <recycling>
         <periodicRestart requests="200" />
      </recycling>
   </applicationPoolDefaults>
</applicationPools>

Пример кода

В следующих примерах настраивается автоматический запуск пулов приложений, использование среды .NET версии 2.0 и использование встроенного конвейера по умолчанию.

AppCmd.exe

appcmd.exe set config -section:system.applicationHost/applicationPools /applicationPoolDefaults.autoStart:"True" /commit:apphost

appcmd.exe set config -section:system.applicationHost/applicationPools /applicationPoolDefaults.managedRuntimeVersion:"v2.0" /commit:apphost

appcmd.exe set config -section:system.applicationHost/applicationPools /applicationPoolDefaults.managedPipelineMode:"Integrated" /commit:apphost

Примечание

При использовании AppCmd.exe для настройки этих параметров для параметра apphostфиксации необходимо задать значение . Это зафиксирует параметры конфигурации в соответствующем разделе расположения в файле ApplicationHost.config.

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");

         ConfigurationElement applicationPoolDefaultsElement = applicationPoolsSection.GetChildElement("applicationPoolDefaults");
         applicationPoolDefaultsElement["autoStart"] = true;
         applicationPoolDefaultsElement["managedRuntimeVersion"] = @"v2.0";
         applicationPoolDefaultsElement["managedPipelineMode"] = @"Integrated";

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Class Sample
   Shared Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim applicationPoolsSection As ConfigurationSection = config.GetSection("system.applicationHost/applicationPools")
      Dim applicationPoolDefaultsElement As ConfigurationElement = applicationPoolsSection.GetChildElement("applicationPoolDefaults")
      applicationPoolDefaultsElement("autoStart") = True
      applicationPoolDefaultsElement("managedRuntimeVersion") = "v2.0"
      applicationPoolDefaultsElement("managedPipelineMode") = "Integrated"
      serverManager.CommitChanges()
   End Sub
End Class

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var applicationPoolsSection = adminManager.GetAdminSection("system.applicationHost/applicationPools", "MACHINE/WEBROOT/APPHOST");
var applicationPoolDefaultsElement = applicationPoolsSection.ChildElements.Item("applicationPoolDefaults");
applicationPoolDefaultsElement.Properties.Item("autoStart").Value = true;
applicationPoolDefaultsElement.Properties.Item("managedRuntimeVersion").Value = "v2.0";
applicationPoolDefaultsElement.Properties.Item("managedPipelineMode").Value = "Integrated";

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set applicationPoolsSection = adminManager.GetAdminSection("system.applicationHost/applicationPools", "MACHINE/WEBROOT/APPHOST")
Set applicationPoolDefaultsElement = applicationPoolsSection.ChildElements.Item("applicationPoolDefaults")
applicationPoolDefaultsElement.Properties.Item("autoStart").Value = True
applicationPoolDefaultsElement.Properties.Item("managedRuntimeVersion").Value = "v2.0"
applicationPoolDefaultsElement.Properties.Item("managedPipelineMode").Value = "Integrated"

adminManager.CommitChanges()