Compartilhar via


Adicionar página de inicialização <add>

Visão geral

O elemento <add> no elemento <applicationInitialization> especifica que o aplicativo será inicializado após a reinicialização do aplicativo. Para executar o processo de inicialização do aplicativo, o IIS envia uma solicitação falsa ao aplicativo para solicitar a inicialização. Várias URLs de aplicativo podem ser especificadas usando várias marcas de <add>. Esses aplicativos não são disponibilizados a um solicitante. A página especificada pelo atributo remapManagedRequestsTo no elemento <applicationInitialization> será disponibilizada ao cliente.

Compatibilidade

Versão Observações
IIS 10.0 O elemento <add> não foi modificado no IIS 10.0.
IIS 8.5 O elemento <add> não foi modificado no IIS 8.5.
IIS 8.0 O elemento <add> foi introduzido no IIS 8.0.
IIS 7.5 N/D
IIS 7.0 N/D
IIS 6,0 N/D

Instalação

Para dar suporte à inicialização de aplicativos em seu servidor Web, você deve instalar a função ou o recurso de Inicialização do Aplicativo.

Windows Server 2012 R2 ou Windows Server 2012

  1. Na barra de tarefas, clique em Gerenciador do Servidor.
  2. No Gerenciador do Servidor, clique no menu Gerenciar e clique em Adicionar Funções e Recursos.
  3. No assistente Adicionar Funções e Recursos, clique em Avançar. Selecione o tipo de instalação e clique em Avançar. Selecione o servidor de destino e clique em Avançar.
  4. Na página Funções de Servidor, expanda Servidor Web (IIS), Servidor Web, Desenvolvimento do Aplicativo e selecionar Inicialização de Aplicativos. Clique em Avançar.
    Screenshot of Web Server and Application Development node expanded in Server Roles page with Application Initialization selected. .
  5. Na página Selecionar Recursos, clique em Avançar.
  6. Na página Confirmar seleções de instalação, clique em Instalar.
  7. Na página Resultados , clique em Fechar.

Windows 8 ou Windows 8.1

  1. Na tela Iniciar, mova o ponteiro até o canto inferior esquerdo, clique com o botão direito do mouse no botão Iniciar e clique em Painel de Controle.
  2. Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar recursos do Windows.
  3. Expanda Serviços de Informações da Internet, Serviços da World Wide Web, Recursos de Desenvolvimento de Aplicativos e selecione Inicialização de Aplicativos.
    Screenshot shows Application Development Features node expanded and Application Initialization selected.
  4. Clique em OK.
  5. Clique em Fechar.

Instruções

Como configurar a inicialização do aplicativo

  1. Abra o Gerenciador dos Serviços de Informações da Internet (IIS):

    • Se você estiver usando o Windows Server 2012 ou posterior:

      • Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador dos Serviços de Informações da Internet (IIS).
    • Se você estiver usando o Windows 8 ou versões posteriores:

      • Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
      • Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
  2. No painel Conexões, selecione ou expanda o servidor, expanda Sites e, em seguida, selecione um site.

  3. No painel Página Inicial, clique duas vezes no recurso Editor de Configuração.

  4. Se você selecionou um site, selecione <site name> Web.config na caixa de texto De e selecione system.webServer/applicationInitialization na caixa de texto Seção.

  5. Se você selecionou o servidor, selecione system.webServer/applicationInitialization na caixa de texto Seção.

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

  6. Para especificar o nome de um arquivo estático a ser retornado durante a inicialização, defina remapManagedRequestsTo como o nome do arquivo.

  7. Se você não quiser carregar módulos gerenciados, defina skipManagedModules como true.

  8. Para especificar que o processo de inicialização é iniciado automaticamente sempre que ocorrer uma reinicialização do aplicativo, defina doAppInitAfterRestart como true.

  9. Para especificar o aplicativo ou os aplicativos a serem inicializados após a reinicialização do aplicativo, clique na linha (Coleção) e clique nas reticências.

  10. No Editor de Coleção, para adicionar um aplicativo a ser inicializado, clique em Adicionar, clique em hostName e, em seguida, defina hostName como o nome do host. Clique em initializationPage e defina-o como uma URL para o aplicativo. Fechar a caixa de diálogo.

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

  11. Clique em Aplicar no painel Ações.

Configuração

O elemento <add> do elemento <applicationInitialization> é configurado no nível do servidor, do site ou do aplicativo.

Atributos

Atributo Descrição
initializationPage Atributo de cadeia de caracteres obrigatório.

Especifica a URL de um aplicativo a ser inicializada após a reinicialização do aplicativo.

O valor padrão é "".
hostName Atributo de cadeia de caracteres opcional.

Um nome de host a ser usado com a URL do aplicativo fornecida no atributo initializationPage.

O valor padrão é "".

Elementos filho

Nenhum.

Exemplo de configuração

O exemplo a seguir mostra a configuração da inicialização do aplicativo.

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

Exemplo de código

Os exemplos a seguir configuram <applicationInitialization> para um 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

Observação

Defina o parâmetro commit para apphost quando usar AppCmd.exe para definir essas configurações. Isso confirma as definições de configuração para a seção de local apropriado no arquivo 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'}