Compartilhar via


Adicionar módulos globais <add>

Visão geral

O elemento <add> da coleção <globalModules> especifica um módulo global individual a ser adicionado ao servidor Web.

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> não foi modificado no IIS 7.5.
IIS 7.0 O elemento <add> da coleção <globalModules> foi introduzido no IIS 7.0.
IIS 6,0 N/D

Instalação

O elemento <globalModules> está incluído na instalação padrão do IIS 7.

Instruções

Como instalar um módulo nativo

  1. 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).
  2. No painel Conexões, selecione a conexão do servidor para a qual você deseja adicionar o módulo nativo.

  3. Na página inicial do servidor, clique duas vezes em Módulos.
    Screenshot that shows the Modules is highlighted.

  4. No painel Ações, clique em Configurar módulos nativos...

  5. Na caixa de diálogo Configurar Módulos Nativos, clique em Registrar...
    Screenshot that shows the Configure Native Modules dialog box.

  6. Na caixa de diálogo Registrar Módulo Nativo, na caixa Nome, digite um nome para o módulo nativo.

  7. Na caixa Demarcador, digite o demarcador do sistema de arquivos do local do arquivo .dll ou clique no botão Procurar
    Screenshot that shows the Register Native Module dialog box.

  8. Na caixa de diálogo Configurar Módulos Nativos, selecione a opção para o módulo nativo que você acabou de registrar, clique em OK e clique OK novamente. Isso permite que o módulo nativo seja executado e o disponibilize para sites e aplicativos em seu servidor Web.

    Observação

    Se você não quiser habilitar a execução do módulo nativo, desmarque a opção para o módulo nativo e clique em OK.

  9. Opcionalmente, você poderá bloquear o módulo nativo se não quiser que ele seja substituído em níveis inferiores no sistema de configuração. Na página Módulos, selecione o módulo e clique em Bloquear no painel Ações.

Como habilitar um módulo nativo

  1. 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).
  2. Navegue até o nível de servidor, site ou aplicativo que você deseja gerenciar.

  3. Na página inicial do servidor, site ou aplicativo, clique duas vezes em Módulos.

  4. No painel Ações, clique em Configurar módulos nativos...

  5. Na caixa de diálogo Configurar Módulos Nativos, selecione a opção para o módulo nativo que você deseja habilitar e clique em OK.
    Screenshot that shows the Configure Native Modules dialog box. UriCacheModule is selected.

Configuração

Cada elemento <add> na coleção <globalModules> deve conter um atributo name que identifica o módulo e um atributo image que aponta para a DLL que implementa o módulo.

Atributos

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

Especifica o caminho físico do arquivo .dll para o módulo global. O valor do atributo será expandido quando variáveis de ambiente, como %windir%, forem usadas.
name Atributo de cadeia de caracteres obrigatório.

Especifica o nome do módulo global.
preCondition Atributo de cadeia de caracteres opcional.

Especifica as condições sob as quais o módulo global será executado.

O atributo preCondition pode ter um ou mais dos valores possíveis a seguir. Se você especificar mais de um valor, separe os valores com uma vírgula (,).
Valor Descrição
bitness32 Especifique o valor bitness32 quando o módulo global for um arquivo .dll de 32 bits e o IIS deve carregar o módulo global somente para processos de trabalho executados no modo WOW64 (simulação de 32 bits) em um sistema operacional de 64 bits.
bitness64 Especifique o valor bitness64 quando o módulo global for um arquivo .dll de 64 bits e o IIS deve carregar o módulo global somente para processos de trabalho executados no modo de 64 bits.
integratedMode Especifique o valor integratedMode quando o módulo global deve usar o pipeline de processamento de solicitação integrado para processar solicitações de conteúdo gerenciado.
ISAPIMode Especifique o valor ISAPIMode quando o módulo global deve usar a extensão ASP.NET ISAPI, Aspnet_isapi.dll, para processar solicitações de conteúdo gerenciado.
runtimeVersionv1.1 Especifique o valor runtimeVersionv1.1 quando o módulo global deve ser carregado apenas para pools de aplicativos configurados para usar o .NET Framework versão 1.1.
runtimeVersionv2.0 Especifique o valor runtimeVersionv2.0 quando o módulo global deve ser carregado apenas para pools de aplicativos configurados para usar o .NET Framework versão 2.0.

Elementos filho

Nenhum.

Exemplo de configuração

O exemplo a seguir mostra uma seção <globalModules> do IIS 7 que contém entradas para todos os módulos incluídos na instalação mínima do servidor Web. Ele também inclui uma entrada para o móduloBasicAuthenticationModule e outra para o módulo ImageCopyrightModule de terceiros.

<globalModules>
   <add name="UriCacheModule"
      image="%windir%\System32\inetsrv\cachuri.dll" />
   <add name="FileCacheModule"
      image="%windir%\System32\inetsrv\cachfile.dll" />
   <add name="TokenCacheModule"
      image="%windir%\System32\inetsrv\cachtokn.dll" />
   <add name="HttpCacheModule"
      image="%windir%\System32\inetsrv\cachhttp.dll" />
   <add name="StaticCompressionModule"
      image="%windir%\System32\inetsrv\compstat.dll" />
   <add name="DefaultDocumentModule"
      image="%windir%\System32\inetsrv\defdoc.dll" />
   <add name="DirectoryListingModule"
      image="%windir%\System32\inetsrv\dirlist.dll" />
   <add name="ProtocolSupportModule"
      image="%windir%\System32\inetsrv\protsup.dll" />
   <add name="StaticFileModule"
      image="%windir%\System32\inetsrv\static.dll" />
   <add name="AnonymousAuthenticationModule"
      image="%windir%\System32\inetsrv\authanon.dll" />
   <add name="RequestFilteringModule"
      image="%windir%\System32\inetsrv\modrqflt.dll" />
   <add name="CustomErrorModule"
      image="%windir%\System32\inetsrv\custerr.dll" />
   <add name="HttpLoggingModule"
      image="%windir%\System32\inetsrv\loghttp.dll" />
   <add name="RequestMonitorModule"
      image="%windir%\System32\inetsrv\iisreqs.dll" />
   <add name="BasicAuthenticationModule"
      image="%windir%\System32\inetsrv\authbas.dll" />
   <add name="ImageCopyrightModule"
      image="%windir%\System32\inetsrv\ImageCopyrightModule.dll" />
</globalModules>

Exemplo de código

Os exemplos a seguir instalam um módulo nativo chamado ImageCopyrightModule no IIS 7 e o habilitam automaticamente em todo o servidor.

AppCmd.exe

appcmd.exe install module /name:ImageCopyrightModule /image:%windir%\system32\inetsrv\imageCopyrightModule.dll

Você também pode usar a seguinte sintaxe:

appcmd.exe set config -section:system.webServer/globalModules /+"[name='ImageCopyrightModule',image='%windir%\system32\inetsrv\imageCopyrightModule.dll']" /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 globalModulesSection = config.GetSection("system.webServer/globalModules");
         ConfigurationElementCollection globalModulesCollection = globalModulesSection.GetCollection();
         ConfigurationElement addElement = globalModulesCollection.CreateElement("add");
         addElement["name"] = @"ImageCopyrightModule";
         addElement["image"] = @"%windir%\system32\inetsrv\imageCopyrightModule.dll";
         globalModulesCollection.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 globalModulesSection As ConfigurationSection = config.GetSection("system.webServer/globalModules")
      Dim globalModulesCollection As ConfigurationElementCollection = globalModulesSection.GetCollection
      Dim addElement As ConfigurationElement = globalModulesCollection.CreateElement("add")
      addElement("name") = "ImageCopyrightModule"
      addElement("image") = "%windir%\system32\inetsrv\imageCopyrightModule.dll"
      globalModulesCollection.Add(addElement)
      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var globalModulesSection = adminManager.GetAdminSection("system.webServer/globalModules", "MACHINE/WEBROOT/APPHOST");
var globalModulesCollection = globalModulesSection.Collection;

var addElement = globalModulesCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "ImageCopyrightModule";
addElement.Properties.Item("image").Value = "%windir%\\system32\\inetsrv\\imageCopyrightModule.dll";
globalModulesCollection.AddElement(addElement);

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set globalModulesSection = adminManager.GetAdminSection("system.webServer/globalModules", "MACHINE/WEBROOT/APPHOST")
Set globalModulesCollection = globalModulesSection.Collection

Set addElement = globalModulesCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "ImageCopyrightModule"
addElement.Properties.Item("image").Value = "%windir%\system32\inetsrv\imageCopyrightModule.dll"
globalModulesCollection.AddElement addElement

adminManager.CommitChanges()