Partager via


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

  1. Dans la barre des tâches, cliquez sur Gestionnaire de serveur.
  2. Dans Gestionnaire de serveur, cliquez sur le menu Gérer, puis sur Ajouter des rôles et des fonctionnalités.
  3. 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.
  4. À 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.
    Screenshot of Web Server and Application Development node expanded in Server Roles page with Application Initialization selected. .
  5. Dans la page Sélectionner des fonctionnalités, cliquez sur Suivant.
  6. Dans la page Confirmer les sélections d’installation, cliquez sur Installer.
  7. Dans la page Résultats , cliquez sur Fermer.

Windows 8 ou Windows 8.1

  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.
  2. Dans le Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis sur Activer ou désactiver des fonctionnalités Windows.
  3. Développez Internet Information Services, Services World Wide Web, Fonctionnalités de développement d'applications, puis sélectionnez Initialisation d'application.
    Screenshot shows Application Development Features node expanded and Application Initialization selected.
  4. Cliquez sur OK.
  5. Cliquez sur Fermer.

Procédure

Comment configurer l'initialisation d'application

  1. 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).
  2. Dans le volet Connexions, sélectionnez ou développez le serveur, développez Sites puis sélectionnez un site.

  3. Dans le volet Accueil, double-cliquez sur la fonctionnalité Éditeur de configuration.

  4. 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.

  5. Si vous avez sélectionné le serveur, sélectionnez system.webServer/applicationInitialization dans la zone de texte Section.

    Screenshot of Configuration Editor feature showing Collection line selected and skip Managed Modules option set to true.

  6. Pour spécifier le nom d'un fichier statique à renvoyer lors de l'initialisation, définissez remapManagedRequestsTo avec le nom du fichier.

  7. Si vous ne souhaitez pas charger de modules managés, définissez skipManagedModules sur vrai.

  8. Pour spécifier que le processus d'initialisation est lancé automatiquement à chaque redémarrage de l'application, définissez doAppInitAfterRestart sur vrai.

  9. 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.

  10. 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.

    Screenshot of Collection Editor dialog box showing Add option in Actions pane and host Name highlighted in Properties section.

  11. 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'}