アプリケーション プールの既定値 <applicationPoolDefaults>
概要
<applicationPools>
コレクションの <applicationPoolDefaults>
コレクションは、Web サーバー上のすべてのアプリケーション プールの既定値を構成します。
Note
<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> 要素は、IIS 6.0 の IIsApplicationPools メタベース プロパティの一部を置き換えます。 |
段取り
<applicationPools>
コレクションは、IIS 7 以降の既定のインストールに含まれています。
操作方法
アプリケーション プールの既定値をセットアップする方法
次のようにインターネット インフォメーション サービス (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) マネージャー] をダブルクリックします。
[接続] ウィンドウでサーバー名を展開し、[アプリケーション プール] をクリックします。
設定の指定が終了したら、[OK] をクリックします。
構成
属性
属性 | 説明 | ||||||||
---|---|---|---|---|---|---|---|---|---|
autoStart |
省略可能な Boolean 属性です。 true にすると、アプリケーション プールの作成時または IIS の起動時にアプリケーション プールが自動的に開始される必要があると World Wide Web 発行サービス (W3SVC) に対して通知されます。 既定値は true です。 |
||||||||
CLRConfigFile |
省略可能な文字列値。 アプリケーション プールの .NET 構成ファイルを指定します。 注: この属性は IIS 7.5 で追加されました。 既定値はありません。 |
||||||||
enable32BitAppOnWin64 |
省略可能な Boolean 属性です。 true にすると、64 ビット バージョンの Windows を実行するコンピューターで 32 ビット アプリケーションを実行できます。 既定値は false です。 |
||||||||
managedPipelineMode |
省略可能な列挙型属性。 マネージド コンテンツの要求を処理するために使用される要求処理モードを指定します。 managedPipelineMode 属性には、次のいずれかの値を指定できます。既定値は Integrated です。
|
||||||||
managedRuntimeLoader |
省略可能な文字列属性。 アプリケーション プールの事前読み込みに使用するマネージド ローダーを指定します。 注: この属性は 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 |
アプリケーション プールのリサイクルを構成します。 |
構成サンプル
次の構成サンプルは、すべてのアプリケーション プールの既定の ID を組み込みのアプリケーション プール ID に指定し、到達するとアプリケーション プールをリサイクルする既定の要求数として 200 を指定します。
<applicationPools>
<add name="DefaultAppPool" />
<applicationPoolDefaults>
<processModel identityType="ApplicationPoolIdentity" />
<recycling>
<periodicRestart requests="200" />
</recycling>
</applicationPoolDefaults>
</applicationPools>
サンプル コード
次の例は、自動的に開始し、バージョン 2.0 の .NET 環境を使用し、既定で統合パイプラインを使用するようにアプリケーション プールを構成します。
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
Note
AppCmd.exe を使用してこれらの設定を構成するときは、commit パラメーターを必ず 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()