應用程式集區 < 預設值 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 和更新版本的預設安裝中。
作法
如何設定應用程式集區預設值
(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) 管理員]。
在 [ 連線 ] 窗格中,展開伺服器名稱,然後按一下 [ 應用程式集區]。
當您完成指定設定之後,請按一下 [確定]。
組態
屬性
屬性 | 描述 | ||||||||
---|---|---|---|---|---|---|---|---|---|
autoStart |
選擇性的 Boolean 屬性。 若 為 true,則表示萬維網發佈服務 (W3SVC) 應用程式集區應該在建立時或 IIS 啟動時自動啟動。 預設值是 true 。 |
||||||||
CLRConfigFile |
選擇性字串值。 指定應用程式集區的 .NET 組態檔。 注意: 這個屬性已在 IIS 7.5 中新增。 沒有任何預設值。 |
||||||||
enable32BitAppOnWin64 |
選擇性的 Boolean 屬性。 若 為 true,可讓 32 位應用程式在執行 64 位版本的 Windows 電腦上執行。 預設值是 false 。 |
||||||||
managedPipelineMode |
選擇性列舉屬性。 指定用來處理 Managed 內容要求的要求處理模式。 managedPipelineMode屬性可以是下列其中一個可能的值;預設值為 Integrated 。
|
||||||||
managedRuntimeLoader |
選擇性字串屬性。 指定要用於預先載入應用程式集區的 Managed 載入器。 注意: 這個屬性已在 IIS 7.5 中新增。 預設值為 webengine4.dll。 |
||||||||
managedRuntimeVersion |
選擇性字串屬性。 指定應用程式集區要使用的.NET Framework版本。 managedRuntimeVersion屬性可以是下列其中一個可能的值;預設值為 "" 。
|
||||||||
name |
必要的字串屬性。 指定伺服器上應用程式集區的唯一名稱。 |
||||||||
queueLength |
選擇性 uint 屬性。 表示HTTP.sys在拒絕未來要求之前,要排入應用程式集區佇列的要求數目。 超過此屬性設定的值時,IIS 會拒絕後續要求,併發生 503 錯誤。 如果 loadBalancerCapabilities 設定為 true,則會關閉連線,而不是拒絕具有 503 的要求。 如需 loadBalancerCapabilities的詳細資訊,請參閱 應用程式集區的失敗設定。 預設值是 1000 。 |
||||||||
startMode |
選擇性列舉值。 指定應用程式集區的啟動類型。 注意: 這個屬性已在 IIS 7.5 中新增。 startMode屬性可以是下列其中一個可能的值;預設值為 OnDemand 。
|
子元素
元素 | 描述 |
---|---|
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()