共用方式為


應用程式集區 < 預設值 applicationPoolDefaults>

概觀

<applicationPoolDefaults>集合的 <applicationPools> 集合會設定 Web 服務器上所有應用程式集區的預設值。

注意

集合中 <applicationPoolDefaults> 未明確定義的任何預設值仍會繼承 IIS 7 和更新版本中的預設值,而個別的應用程式集區設定會覆寫任何預設值。

相容性

版本 備註
IIS 10.0 <applicationInitialization> IIS 10.0 中未修改專案。
IIS 8.5 <applicationInitialization> 在 IIS 8.5 中修改專案。
IIS 8.0 另一個值 (「v4.0」) 已新增至 managedRuntimeVersion IIS 8.0 中的 屬性,其預設值已變更為 「」 而不是 「v2.0」。
IIS 7.5 <applicationPoolDefaults> 在 IIS 7.5 中修改專案。
IIS 7.0 專案 <applicationPoolDefaults> 是在 IIS 7.0 中引進的。
IIS 6.0 元素 <applicationPoolDefaults> 會取代 IIS 6.0 IIsApplicationPools 中繼基底屬性的部分。

安裝程式

<applicationPools>集合包含在 IIS 7 和更新版本的預設安裝中。

作法

如何設定應用程式集區預設值

  1. (IIS) 管理員開啟 Internet Information Services

    • 如果您使用 Windows Server 2012 或 Windows Server 2012 R2:

      • 在工作列上,依序按一下 [伺服器管理員]、[工具],然後按一下 [Internet Information Services] ([IIS) 管理員]。
    • 如果您使用 Windows 8 或 Windows 8.1:

      • 按住Windows鍵,按字母X,然後按一下[主控台]。
      • 按一下 [ 系統管理工具],然後按兩下 [Internet Information Services] ([IIS) 管理員]。
    • 如果您使用 Windows Server 2008 或 Windows Server 2008 R2:

      • 在工作列上,按一下 [ 開始],指向 [ 系統管理工具],然後按一下 [ Internet Information Services (IIS) 管理員]。
    • 如果您使用 Windows Vista 或 Windows 7:

      • 在工作列上,按一下 [開始],然後按一下[主控台]。
      • 按兩下 [ 系統管理工具],然後按兩下 [Internet Information Services] ([IIS) 管理員]。
  2. 在 [ 連線 ] 窗格中,展開伺服器名稱,然後按一下 [ 應用程式集區]。

  3. 在 [ 動作] 窗格中,按一下 [ 設定應用程式集區預設值...
    [應用程式集區] 畫面的螢幕擷取畫面,其中顯示 [篩選] 欄位。

  4. 在 [ 應用程式集區預設值] 對話方塊中,指定您想要的選項。
    [應用程式集區預設值] 對話方塊的螢幕擷取畫面。

  5. 當您完成指定設定之後,請按一下 [確定]。

組態

屬性

屬性 描述
autoStart 選擇性的 Boolean 屬性。

為 true,則表示萬維網發佈服務 (W3SVC) 應用程式集區應該在建立時或 IIS 啟動時自動啟動。

預設值是 true
CLRConfigFile 選擇性字串值。

指定應用程式集區的 .NET 組態檔。

注意: 這個屬性已在 IIS 7.5 中新增。

沒有任何預設值。
enable32BitAppOnWin64 選擇性的 Boolean 屬性。

為 true,可讓 32 位應用程式在執行 64 位版本的 Windows 電腦上執行。

預設值是 false
managedPipelineMode 選擇性列舉屬性。

指定用來處理 Managed 內容要求的要求處理模式。

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 選擇性字串屬性。

指定要用於預先載入應用程式集區的 Managed 載入器。

注意: 這個屬性已在 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 要求時啟動應用程式集區。 此行為類似于舊版 IIS 中的 WAS 行為。

數值為 0

子元素

元素 描述
cpu 設定 CPU 親和性和 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()