Compartilhar via


Adicionando módulos <add> elemento para para o IIS (Serviços de Informações da Internet) 7;

Visão geral

O elemento <add> da coleção <modules> adiciona um módulo à lista de módulos do IIS (Serviços de Informações da Internet) 7.

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 <modules> foi introduzido no IIS 7.0.
IIS 6,0 N/D

Instalação

O elemento <add> da coleção <modules> está incluído na instalação padrão do IIS 7.

Instruções

Como adicionar um módulo gerenciado ao aplicativo

  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 do IIS (Serviços de Informações da Internet).
    • 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 do IIS (Serviços de Informações da Internet).
    • 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 do IIS (Serviços de Informações da Internet).
    • Se você estiver usando o Windows Vista ou Windows 7:

      • Na barra de tarefas, selecione Iniciar e selecione 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, expanda o nome do servidor, expanda Sites e acesse o site ou aplicativo ao qual deseja adicionar um módulo gerenciado.

  3. No painel Página Inicial, clique duas vezes em Módulos.
    Captura de tela do painel Início exibindo Módulos realçados.

  4. No painel Ações, clique em Adicionar Módulo Gerenciado.

  5. Na caixa de diálogo Adicionar Módulo Gerenciado, insira o nome do módulo gerenciado na caixa Nome e, em seguida, insira ou selecione o tipo totalmente qualificado do .NET Framework do módulo na caixa Tipo.

  6. Selecione a opção Invocar somente para solicitações para aplicativos ASP.NET ou manipuladores gerenciados se quiser que o módulo responda apenas a solicitações gerenciadas.
    Imagem da caixa de diálogo Adicionar Módulo Gerenciado mostrando as caixas Nome e Tipo com a opção Invocar somente para solicitações à opção A S P dot Net ou manipuladores gerenciados.

  7. Clique em OK.

Configuração

Atributos

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

Especifica o nome exclusivo de um módulo gerenciado no servidor Web.
preCondition Atributo de cadeia de caracteres opcional. Especifica as condições sob as quais o módulo será executado.

O atributo preCondition pode ser 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 for um arquivo .dll de 32 bits. O IIS deve carregar o manipulador 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 for um arquivo .dll de 64 bits. O IIS deve carregar o manipulador somente para processos de trabalho executados no modo de 64 bits.
integratedMode Especifique o valor integratedMode quando o módulo deve responder somente a solicitações em pools de aplicativos configurados para usar o pipeline de processamento de solicitações integrado.
ISAPIMode Especifique o valor ISAPIMode quando o módulo deve responder somente a solicitações em pools de aplicativos configurados para usar o modo Clássico.
managedHandler Especifique o valor managedHandler quando o módulo deve processar solicitações somente para recursos gerenciados, como arquivos .aspx, e não deve responder a solicitações de recursos não gerenciados, como arquivos .html.
runtimeVersionv1.1 Especifique o valor runtimeVersionv1.1 quando o módulo deve responder apenas a solicitações nos pools de aplicativos configurados para usar o .NET Framework versão 1.1.
runtimeVersionv2.0 Especifique o valor runtimeVersionv2.0 quando o módulo deve responder apenas a solicitações nos pools de aplicativos configurados para usar o .NET Framework versão 2.0.
runtimeVersionv4.0 Especifique o valor runtimeVersionv4.0 quando o módulo deve responder somente a solicitações em pools de aplicativos configurados para usar o .NET Framework versão 4.0.
type Atributo de cadeia de caracteres opcional.

Especifica o tipo gerenciado de um módulo gerenciado. O atributo type não se aplica a módulos nativos.

Elementos filho

Nenhum.

Exemplo de configuração

O exemplo configura um módulo para um aplicativo Web em execução no modo integrado do IIS 7.

<configuration>
   <system.webServer>
      <modules>
         <add name="Header" type="Contoso.ShoppingCart.Header"/>
      </modules>
   </system.webServer>
</configuration>

Exemplo de código

Observação

Os exemplos neste documento ilustram o uso de um assembly de código gerenciado que foi armazenado no .NET Global Assembly Cache (GAC). Antes de usar o código nesses exemplos para implantar seus próprios assemblies, você precisa recuperar as informações do assembly do GAC. Para fazer isso, execute as seguintes etapas:

  • No Windows Explorer, abra o caminho C:\Windows\assembly, onde C: é a unidade do sistema operacional.
  • Localize o assembly.
  • Clique com o botão direito no assembly e selecione Propriedades.
  • Copie o valor de Cultura, por exemplo: Neutro.
  • Copie o número de Versão, por exemplo: 1.0.0.0.
  • Copie o valor do Token de Chave Pública, por exemplo: 426f62526f636b73.
  • Clique em Cancelar.

Os exemplos de código a seguir habilitam um módulo gerenciado para um site chamado Contoso. A propriedade name define o nome CartHeader para o módulo, a propriedade type define o tipo gerenciado para o módulo, a propriedade preCondition define que o IIS invoca o módulo somente para solicitações gerenciadas.

AppCmd.exe

appcmd.exe set config "Contoso" -section:system.webServer/modules /+"[name='CartHeader',type='Contoso.ShoppingCart.Header',preCondition='managedHandler']"

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.GetWebConfiguration("Contoso");
         ConfigurationSection modulesSection = config.GetSection("system.webServer/modules");
         ConfigurationElementCollection modulesCollection = modulesSection.GetCollection();

         ConfigurationElement addElement = modulesCollection.CreateElement("add");
         addElement["name"] = @"CartHeader";
         addElement["type"] = @"Contoso.ShoppingCart.Header";
         addElement["preCondition"] = @"managedHandler";
         modulesCollection.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.GetWebConfiguration("Contoso")
      Dim modulesSection As ConfigurationSection = config.GetSection("system.webServer/modules")
      Dim modulesCollection As ConfigurationElementCollection = modulesSection.GetCollection

      Dim addElement As ConfigurationElement = modulesCollection.CreateElement("add")
      addElement("name") = "CartHeader"
      addElement("type") = "Contoso.ShoppingCart.Header"
      addElement("preCondition") = "managedHandler"
      modulesCollection.Add(addElement)

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Contoso";
var modulesSection = adminManager.GetAdminSection("system.webServer/modules", "MACHINE/WEBROOT/APPHOST/Contoso");
var modulesCollection = modulesSection.Collection;

var addElement = modulesCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "CartHeader";
addElement.Properties.Item("type").Value = "Contoso.ShoppingCart.Header";
addElement.Properties.Item("preCondition").Value = "managedHandler";
modulesCollection.AddElement(addElement);

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST/Contoso"
Set modulesSection = adminManager.GetAdminSection("system.webServer/modules", "MACHINE/WEBROOT/APPHOST/Contoso")
Set modulesCollection = modulesSection.Collection

Set addElement = modulesCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "CartHeader"
addElement.Properties.Item("type").Value = "Contoso.ShoppingCart.Header"
addElement.Properties.Item("preCondition").Value = "managedHandler"
modulesCollection.AddElement addElement

adminManager.CommitChanges()