Ajouter une page d'initialisation <ajouter>
Vue d’ensemble
L'élément <add>
sous l'élément <applicationInitialization>
spécifie l'application à initialiser lors du redémarrage de l'application. Pour effectuer le processus d'initialisation de l'application, IIS envoie une fausse requête à l'application pour l'inviter à s'initialiser. Plusieurs URL d'application peuvent être spécifiées à l'aide de plusieurs balises <add>
. Ces applications ne sont pas servies à un requêteur. La page spécifiée par l'attribut remapManagedRequestsTo dans l'élément <applicationInitialization>
sera servie au client.
Compatibilité
Version | Notes |
---|---|
IIS 10.0 | L'élément <add> n'a pas été modifié dans IIS 10.0. |
IIS 8.5 | L'élément <add> n'a pas été modifié dans IIS 8.5. |
IIS 8.0 | L'élément <add> a été introduit dans IIS 8.0. |
IIS 7.5 | S/O |
IIS 7.0 | S/O |
IIS 6.0 | S/O |
Programme d’installation
Pour prendre en charge l'initialisation de l'application sur votre serveur web, vous devez installer le rôle ou la fonctionnalité Initialisation d'application.
Windows Server 2012 ou Windows Server 2012 R2
- Dans la barre des tâches, cliquez sur Gestionnaire de serveur.
- Dans Gestionnaire de serveur, cliquez sur le menu Gérer, puis sur Ajouter des rôles et des fonctionnalités.
- Dans l'Assistant Ajout de rôles et de fonctionnalités, cliquez sur Suivant. Sélectionnez le type d'installation, puis cliquez sur Suivant. Sélectionnez le serveur de destination, puis cliquez sur Suivant.
- À la page Rôles serveur, développez Serveur web (IIS), Serveur web, Développement d'applications, puis sélectionnez Initialisation d'application. Sélectionnez Suivant.
. - Dans la page Sélectionner des fonctionnalités, cliquez sur Suivant.
- Dans la page Confirmer les sélections d’installation, cliquez sur Installer.
- Dans la page Résultats , cliquez sur Fermer.
Windows 8 ou Windows 8.1
- Dans l'écran Démarrer, déplacez le pointeur en bas à gauche, cliquez avec le bouton droit sur le bouton Démarrer, puis cliquez sur Panneau de configuration.
- Dans le Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis sur Activer ou désactiver des fonctionnalités Windows.
- Développez Internet Information Services, Services World Wide Web, Fonctionnalités de développement d'applications, puis sélectionnez Initialisation d'application.
- Cliquez sur OK.
- Cliquez sur Fermer.
Procédure
Comment configurer l'initialisation d'application
Ouvrez le Gestionnaire Internet Information Services (IIS) :
Si vous utilisez Windows Server 2012 ou une version ultérieure :
- Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez sur Outils, puis sur Gestionnaire Internet Information Services (IIS).
Si vous utilisez Windows 8 ou une version ultérieure :
- Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
- Cliquez sur Outils d'administration, puis double-cliquez sur Gestionnaire des services Internet (IIS).
Dans le volet Connexions, sélectionnez ou développez le serveur, développez Sites puis sélectionnez un site.
Dans le volet Accueil, double-cliquez sur la fonctionnalité Éditeur de configuration.
Si vous avez sélectionné un site, sélectionnez <nom de site> Web.config dans la zone de texte De, puis sélectionnez system.webServer/applicationInitialization dans la zone de texteSection.
Si vous avez sélectionné le serveur, sélectionnez system.webServer/applicationInitialization dans la zone de texte Section.
Pour spécifier le nom d'un fichier statique à renvoyer lors de l'initialisation, définissez remapManagedRequestsTo avec le nom du fichier.
Si vous ne souhaitez pas charger de modules managés, définissez skipManagedModules sur vrai.
Pour spécifier que le processus d'initialisation est lancé automatiquement à chaque redémarrage de l'application, définissez doAppInitAfterRestart sur vrai.
Pour spécifier l'application ou les applications à initialiser au redémarrage de l'application, cliquez sur la ligne (Collection), puis sur les points de suspension.
Dans l'éditeur de collection, pour ajouter une application à initialiser, cliquez sur Ajouter, cliquez sur HostName, puis définissez hostName sur le nom de l'hôte. Cliquez sur initializationPage et définissez-le sur une URL pour l'application. Fermez la boîte de dialogue.
Cliquez sur Appliquer dans le volet Actions.
Configuration
L'élément <add>
de l'élément <applicationInitialization>
est configuré au niveau du serveur, du site ou de l'application.
Attributs
Attribut | Description |
---|---|
initializationPage |
Attribut de chaîne requis. Spécifie l'URL d'une application à initialiser lors du redémarrage de l'application. La valeur par défaut est "" . |
hostName |
Attribut de chaîne facultatif. Nom d'hôte à utiliser avec l'URL de l'application fournie dans l'attribut initializationPage. La valeur par défaut est "" . |
Éléments enfants
Aucune.
Exemple Configuration
L'exemple suivant montre la configuration de l'initialisation de l'application.
<system.webServer>
<applicationInitialization
doAppInitAfterRestart="true"
skipManagedModules="true"
remapManagedRequestsTo="filename.htm"/>
<add initializationPage="/default.aspx" hostName="myhost"/>
</applicationInitialization>
</system.webServer>
Exemple de code
Les exemples suivants configurent <l'applicationInitialization> pour un site.
AppCmd.exe
appcmd.exe set config "Default Web Site" -section:system.webServer/applicationInitialization /remapManagedRequestsTo:"HelloJoe.htm" /skipManagedModules:"True" /doAppInitAfterRestart:"True" /commit:apphost
appcmd.exe set config "Default Web Site" -section:system.webServer/applicationInitialization /+"[initializationPage='JoesSite.htm',hostName='JoesHost']" /commit:apphost
Remarque
Vous devez veiller à définir le paramètre commit sur apphost
lorsque vous utilisez AppCmd.exe pour configurer ces paramètres. Cela valide les paramètres de configuration dans la section d'emplacement appropriée dans le fichier 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 applicationInitializationSection = config.GetSection("system.webServer/applicationInitialization", "Default Web Site");
applicationInitializationSection["remapManagedRequestsTo"] = @"HelloJoe.htm";
applicationInitializationSection["skipManagedModules"] = true;
applicationInitializationSection["doAppInitAfterRestart"] = true;
ConfigurationElementCollection applicationInitializationCollection = applicationInitializationSection.GetCollection();
ConfigurationElement addElement = applicationInitializationCollection.CreateElement("add");
addElement["initializationPage"] = @"JoesSite.htm";
addElement["hostName"] = @"JoesHost";
applicationInitializationCollection.Add(addElement);
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 applicationInitializationSection As ConfigurationSection = config.GetSection("system.webServer/applicationInitialization", "Default Web Site")
applicationInitializationSection("remapManagedRequestsTo") = "HelloJoe.htm"
applicationInitializationSection("skipManagedModules") = true
applicationInitializationSection("doAppInitAfterRestart") = true
Dim applicationInitializationCollection As ConfigurationElementCollection = applicationInitializationSection.GetCollection
Dim addElement As ConfigurationElement = applicationInitializationCollection.CreateElement("add")
addElement("initializationPage") = "JoesSite.htm"
addElement("hostName") = "JoesHost"
applicationInitializationCollection.Add(addElement)
serverManager.CommitChanges
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var applicationInitializationSection = adminManager.GetAdminSection("system.webServer/applicationInitialization", "MACHINE/WEBROOT/APPHOST/Default Web Site");
applicationInitializationSection.Properties.Item("remapManagedRequestsTo").Value = "HelloJoe.htm";
applicationInitializationSection.Properties.Item("skipManagedModules").Value = true;
applicationInitializationSection.Properties.Item("doAppInitAfterRestart").Value = true;
var applicationInitializationCollection = applicationInitializationSection.Collection;
var addElement = applicationInitializationCollection.CreateNewElement("add");
addElement.Properties.Item("initializationPage").Value = "JoesSite.htm";
addElement.Properties.Item("hostName").Value = "JoesHost";
applicationInitializationCollection.AddElement(addElement);
adminManager.CommitChanges();
VBScript
Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set applicationInitializationSection = adminManager.GetAdminSection("system.webServer/applicationInitialization", "MACHINE/WEBROOT/APPHOST/Default Web Site")
applicationInitializationSection.Properties.Item("remapManagedRequestsTo").Value = "HelloJoe.htm"
applicationInitializationSection.Properties.Item("skipManagedModules").Value = true
applicationInitializationSection.Properties.Item("doAppInitAfterRestart").Value = true
Set applicationInitializationCollection = applicationInitializationSection.Collection
Set addElement = applicationInitializationCollection.CreateNewElement("add")
addElement.Properties.Item("initializationPage").Value = "JoesSite.htm"
addElement.Properties.Item("hostName").Value = "JoesHost"
applicationInitializationCollection.AddElement(addElement)
adminManager.CommitChanges()
PowerShell
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location 'Default Web Site' -filter "system.webServer/applicationInitialization" -name "remapManagedRequestsTo" -value "HelloJoe.htm"
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location 'Default Web Site' -filter "system.webServer/applicationInitialization" -name "skipManagedModules" -value "True"
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location 'Default Web Site' -filter "system.webServer/applicationInitialization" -name "doAppInitAfterRestart" -value "True"
Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location 'Default Web Site' -filter "system.webServer/applicationInitialization" -name "." -value @{initializationPage='JoesSite.htm';hostName='JoesHost'}