Adicionar provedores de início automático de serviço <add>
Visão geral
O elemento <add>
do elemento <serviceAutoStartProviders>
adiciona um provedor à coleção de provedores de início automático.
O elemento <serviceAutoStartProviders>
especifica uma coleção de assemblies gerenciados que o WAS (Serviço de Ativação de Processos do Windows) carregará automaticamente quando o atributo startMode
de um pool de aplicativos for definido como AlwaysRunning
. Essa coleção permite que os desenvolvedores especifiquem assemblies que executam tarefas de inicialização antes que quaisquer solicitações HTTP sejam atendidas. Por exemplo, um desenvolvedor de aplicativos pode querer estabelecer as conexões de banco de dados iniciais para o aplicativo antes que o IIS inicie o processamento da solicitação; isso permitirá que o aplicativo execute mais rapidamente para solicitações iniciais que exijam viagens de ida e volta de um banco de dados.
Para obter mais informações sobre como configurar pools de aplicativos para que sejam iniciados automaticamente, consulte o tópico <applicationPools>
.
Observação
Esse elemento foi introduzido no IIS 7.5.
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> não foi modificado no IIS 8.0. |
IIS 7.5 | O elemento <add> do elemento <serviceAutoStartProviders> foi introduzido no IIS 7.5. |
IIS 7.0 | N/D |
IIS 6,0 | N/D |
Instalação
O elemento <add>
do elemento <serviceAutoStartProviders>
está incluído na instalação padrão do IIS 7.5.
Instruções
Como configurar um provedor de início automático de serviço
Observação
Não há nenhuma interface direta do usuário que permita configurar o elemento <serviceAutoStartProviders>
e, portanto, as etapas a seguir usarão o recurso editor de configuração do IIS.
Abra o Gerenciador dos Serviços de Informações da Internet (IIS):
Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:
- 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 Windows 8.1:
- 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).
Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:
- Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
Se você estiver usando o Windows Vista ou Windows 7:
- Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
- Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
No painel Conexões, clique no nome do servidor.
No painel Página Inicial, clique duas vezes no recurso Editor de Configuração.
No menu suspenso Seção, expanda system.applicationHost e clique em serviceAutoStartProviders.
Clique nas reticências (...) no lado direito do campo (Coleção).
No painel Ações, selecione Adicionar.
Quando a caixa de diálogo Editor de Coleção for exibida:
- Insira o nome do provedor de início automático no campo de nome. Por exemplo:
"MyAutostartProvider" - Insira o tipo gerenciado do assembly de início automático no campo de tipo. Por exemplo:
"MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73" - Feche a caixa de diálogo Editor de Coleção.
- Insira o nome do provedor de início automático no campo de nome. Por exemplo:
No painel Ações, clique em Aplicar.
Observação
Esta seção contém informações sobre como modificar as configurações do IIS usando o Editor de Configuração do IIS. Editar incorretamente as configurações do IIS pode danificar severamente a instalação do IIS. Portanto, certifique-se de seguir essas etapas com atenção. Para obter mais segurança, faça backup das configurações do IIS antes de usar o Editor de Configuração do IIS para fazer modificações. Para obter mais informações sobre como fazer backup de suas configurações do IIS e como usar o Editor de Configuração do IIS, consulte os seguintes tópicos:
- Como fazer backup de uma configuração do IIS 7
https://technet.microsoft.com/library/dd819406.aspx - Página do Editor de Configuração
https://technet.microsoft.com/library/dd569081.aspx
Configuração
O elemento <add>
do elemento <serviceAutoStartProviders>
é configurado no nível global no arquivo ApplicationHost.config.
Atributos
Atributo | Descrição |
---|---|
name |
Atributo de cadeia de caracteres opcional. Especifica o nome amigável para um provedor de início automático. Nenhum valor padrão. |
type |
Atributo de cadeia de caracteres opcional. Especifica o tipo gerenciado para um assembly de provedor de início automático. Nenhum valor padrão. |
Elementos filho
Nenhum.
Exemplo de configuração
O exemplo a seguir exibe um elemento <serviceAutoStartProviders>
que adiciona um provedor de início automático personalizado à coleção.
<serviceAutoStartProviders>
<add name="MyAutostartProvider" type="MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73" />
</serviceAutoStartProviders>
Exemplo de código
Os exemplos a seguir adicionam um provedor de exemplo à coleção de provedores de início automático.
AppCmd.exe
appcmd.exe set config -section:system.applicationHost/serviceAutoStartProviders /+"[name='MyAutostartProvider',type='MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73']" /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 serviceAutoStartProvidersSection = config.GetSection("system.applicationHost/serviceAutoStartProviders");
ConfigurationElementCollection serviceAutoStartProvidersCollection = serviceAutoStartProvidersSection.GetCollection();
ConfigurationElement addElement = serviceAutoStartProvidersCollection.CreateElement("add");
addElement["name"] = @"MyAutostartProvider";
addElement["type"] = @"MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73";
serviceAutoStartProvidersCollection.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 serviceAutoStartProvidersSection As ConfigurationSection = config.GetSection("system.applicationHost/serviceAutoStartProviders")
Dim serviceAutoStartProvidersCollection As ConfigurationElementCollection = serviceAutoStartProvidersSection.GetCollection
Dim addElement As ConfigurationElement = serviceAutoStartProvidersCollection.CreateElement("add")
addElement("name") = "MyAutostartProvider"
addElement("type") = "MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73"
serviceAutoStartProvidersCollection.Add(addElement)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var serviceAutoStartProvidersSection = adminManager.GetAdminSection("system.applicationHost/serviceAutoStartProviders", "MACHINE/WEBROOT/APPHOST");
var serviceAutoStartProvidersCollection = serviceAutoStartProvidersSection.Collection;
var addElement = serviceAutoStartProvidersCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "MyAutostartProvider";
addElement.Properties.Item("type").Value = "MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73";
serviceAutoStartProvidersCollection.AddElement(addElement);
adminManager.CommitChanges();
VBScript
Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set serviceAutoStartProvidersSection = adminManager.GetAdminSection("system.applicationHost/serviceAutoStartProviders", "MACHINE/WEBROOT/APPHOST")
Set serviceAutoStartProvidersCollection = serviceAutoStartProvidersSection.Collection
Set addElement = serviceAutoStartProvidersCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "MyAutostartProvider"
addElement.Properties.Item("type").Value = "MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73"
serviceAutoStartProvidersCollection.AddElement(addElement)
adminManager.CommitChanges()