IIS Application Defaults <applicationDefaults>
Overview
The <applicationDefaults>
element of <sites>
specifies the default app settings for all apps on the server.
Note
If the same attribute or child element is configured in both the <applicationDefaults>
section and in the <application>
section for a specific application, the configuration in the <application>
section is used for that application.
Compatibility
Version | Notes |
---|---|
IIS 10.0 | The <applicationDefaults> element was not modified in IIS 10.0. |
IIS 8.5 | The <applicationDefaults> element was not modified in IIS 8.5. |
IIS 8.0 | The <applicationDefaults> element was not modified in IIS 8.0. |
IIS 7.5 | The <applicationDefaults> element was not modified in IIS 7.5. |
IIS 7.0 | The <applicationDefaults> element of the <sites> element was introduced in IIS 7.0. |
IIS 6.0 | The <applicationDefaults> element is analogous to setting application options at the W3SVC level in the IIS 6.0 metabase. |
Setup
The <applicationDefaults>
element of the <sites>
element is included in the default installation of IIS 7 and later.
How To
How to configure the default application settings for a server
Open Internet Information Services (IIS) Manager:
If you are using Windows Server 2012 or Windows Server 2012 R2:
- On the taskbar, click Server Manager, click Tools, and then click Internet Information Services (IIS) Manager.
If you are using Windows 8 or Windows 8.1:
- Hold down the Windows key, press the letter X, and then click Control Panel.
- Click Administrative Tools, and then double-click Internet Information Services (IIS) Manager.
If you are using Windows Server 2008 or Windows Server 2008 R2:
- On the taskbar, click Start, point to Administrative Tools, and then click Internet Information Services (IIS) Manager.
If you are using Windows Vista or Windows 7:
- On the taskbar, click Start, and then click Control Panel.
- Double-click Administrative Tools, and then double-click Internet Information Services (IIS) Manager.
In the Connections pane, expand the server name, then click the Sites node.
In the server's Sites pane, click Set Web Site Defaults... in the Actions pane.
In the Web Site Defaults dialog box, specify your default application settings for all Web sites, and then click OK.
Configuration
Attributes
Attribute | Description |
---|---|
applicationPool |
Optional string attribute. Specifies the default application pool to which all applications on the server are assigned. |
enabledProtocols |
Optional string attribute. Specifies the protocols to use to communicate with all applications on the server. |
path |
Optional string attribute. Specifies the default virtual path of all applications on the server. |
Child Elements
None.
Configuration Sample
The following configuration sample sets the default application pool for all Web sites to "DefaultAppPool".
<system.applicationHost>
<sites>
<applicationDefaults applicationPool="DefaultAppPool" />
</sites>
</system.applicationHost>
Sample Code
The following code samples set the default application pool for all Web sites to "DefaultAppPool".
AppCmd.exe
appcmd.exe set config -section:system.applicationHost/sites /applicationDefaults.applicationPool:"DefaultAppPool" /commit:apphost
Note
You must be sure to set the commit parameter to apphost
when you use AppCmd.exe to configure these settings. This commits the configuration settings to the appropriate location section in the ApplicationHost.config file.
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 sitesSection = config.GetSection("system.applicationHost/sites");
ConfigurationElement applicationDefaultsElement = sitesSection.GetChildElement("applicationDefaults");
applicationDefaultsElement["applicationPool"] = @"DefaultAppPool";
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 sitesSection As ConfigurationSection = config.GetSection("system.applicationHost/sites")
Dim applicationDefaultsElement As ConfigurationElement = sitesSection.GetChildElement("applicationDefaults")
applicationDefaultsElement("applicationPool") = "DefaultAppPool"
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST");
var applicationDefaultsElement = sitesSection.ChildElements.Item("applicationDefaults");
applicationDefaultsElement.Properties.Item("applicationPool").Value = "DefaultAppPool";
adminManager.CommitChanges();
VBScript
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST")
Set applicationDefaultsElement = sitesSection.ChildElements.Item("applicationDefaults")
applicationDefaultsElement.Properties.Item("applicationPool").Value = "DefaultAppPool"
adminManager.CommitChanges()