Compartir a través de


Adición de página de inicialización <add>

Información general

El elemento <add> bajo el elemento <applicationInitialization> especifica la aplicación que se va a inicializar tras reiniciarse la aplicación. Para realizar el proceso de inicialización de aplicaciones, IIS envía una solicitud falsa a la aplicación para pedir la inicialización. Se pueden especificar varias direcciones URL de aplicación mediante diversas etiquetas <add>. Estas aplicaciones no se proporcionan a un solicitante. La página especificada por el atributo remapManagedRequestsTo en el elemento <applicationInitialization> se proporcionará al cliente.

Compatibilidad

Versión Notas
IIS 10.0 El elemento <add> no se modificó en IIS 10.0.
IIS 8.5 El elemento <add> no se modificó en IIS 8.5.
IIS 8.0 El elemento <add> se introdujo en IIS 8.0.
IIS 7.5 N/D
IIS 7.0 N/D
IIS 6,0 N/D

Configuración

Para admitir la inicialización de aplicaciones en el servidor web, debe instalar el rol o la característica Inicialización de aplicaciones.

Windows Server 2012 o Windows Server 2012 R2

  1. En la barra de tareas, haga clic en Administrador del servidor.
  2. En Administrador del servidor, haga clic en el menú Administrar y, después, haga clic en Agregar roles y características.
  3. En el asistente para Agregar roles y características, haga clic en Siguiente. Seleccione el tipo de instalación y haga clic en Siguiente. Seleccione el servidor de destino y haga clic en Siguiente.
  4. En la página Roles de servidor, expanda sucesivamente Servidor web (IIS), Servidor web y Desarrollo de aplicaciones y, a continuación, seleccione Inicialización de aplicaciones. Haga clic en Next.
    Screenshot of Web Server and Application Development node expanded in Server Roles page with Application Initialization selected..
  5. En la página Seleccionar características, haz clic en Siguiente.
  6. En la página Confirmar selecciones de instalación, haga clic en Instalar.
  7. En la página Resultados , haga clic en Cerrar.

Windows 8 o Windows 8.1

  1. En la pantalla Inicio, mueva el puntero hasta la esquina inferior izquierda, haga clic con el botón derecho en el botón Inicio y, a continuación, haga clic en Panel de control.
  2. En Panel de control, haga clic en Programas y características y después en Activar o desactivar las características de Windows.
  3. Expanda sucesivamente Internet Information Services, Servicios World Wide Web y Características de desarrollo de aplicaciones y, a continuación, seleccione Inicialización de aplicaciones.
    Screenshot shows Application Development Features node expanded and Application Initialization selected.
  4. Haga clic en OK.
  5. Haga clic en Cerrar.

Procedimientos

Cómo configurar la inicialización de aplicaciones

  1. Abra el Administrador de Internet Information Services (IIS):

    • Si usa Windows Server 2012 o versiones posteriores:

      • En la barra de tareas, haga clic en Administrador del servidor, en Herramientas y, a continuación, en Administrador de Internet Information Services (IIS).
    • Si usa Windows 8 o versiones posteriores:

      • Mantenga presionada la tecla Windows, presione la letra X y haga clic en Panel de control.
      • Haga clic en Herramientas administrativas y, a continuación, haga doble clic en Administrador de Internet Information Services (IIS).
  2. En el panel Conexiones, seleccione el servidor o bien expanda el servidor, expanda Sitios y, después, seleccione un sitio.

  3. En el panel Inicio, haga doble clic en la característica Editor de configuración.

  4. Si ha seleccionado un sitio, elija Web.config< nombre del sitio> en el cuadro de texto De y, a continuación, seleccione system.webServer/applicationInitialization en el cuadro de texto Sección.

  5. Si ha seleccionado el servidor, seleccione system.webServer/applicationInitialization en el cuadro de texto Sección.

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

  6. Para especificar el nombre de un archivo estático que debe devolverse durante la inicialización, establezca remapManagedRequestsTo en el nombre del archivo.

  7. Si no quiere cargar módulos administrados, establezca skipManagedModules en true.

  8. Para especificar que el proceso de inicialización comience de forma automática cada vez que se reinicie una aplicación, establezca doAppInitAfterRestart en true.

  9. Para especificar las aplicaciones que se van a inicializar tras el reinicio de aplicación, haga clic en la línea (Colección) y, después, haga clic en los puntos suspensivos.

  10. En el editor de colección, para agregar una aplicación que se va a inicializar, haga clic en Agregar y en hostName y, a continuación, establezca hostName en el nombre del host. Haga clic en initializationPage y establezca su valor en una dirección URL para la aplicación. Cerrar el cuadro de diálogo.

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

  11. Haga clic en Aplicar en el panel Acciones.

Configuración

El elemento <add> del elemento <applicationInitialization> se configura en el nivel de servidor, sitio o aplicación.

Atributos

Atributo Descripción
initializationPage Atributo de cadena necesario.

Especifica la dirección URL de una aplicación que se va a inicializar tras el reinicio de aplicación.

El valor predeterminado es "".
hostName Atributo de cadena opcional.

Nombre de host que se va a usar con la dirección URL de la aplicación proporcionada en el atributo initializationPage.

El valor predeterminado es "".

Elementos secundarios

Ninguno.

Ejemplo de configuración

En el ejemplo siguiente se muestra la configuración de la inicialización de aplicaciones.

<system.webServer>
   <applicationInitialization
      doAppInitAfterRestart="true"
      skipManagedModules="true"
      remapManagedRequestsTo="filename.htm"/>
      <add initializationPage="/default.aspx" hostName="myhost"/>
   </applicationInitialization>
</system.webServer>

Código de ejemplo

En los ejemplos siguientes se configura <applicationInitialization> para un sitio.

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

Nota:

Debe asegurarse de establecer el parámetro commit en apphost cuando use AppCmd.exe para configurar estos valores. Esto confirma los valores de configuración en la sección de ubicación adecuada del archivo 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'}