Compartilhar via


Adicionar adaptadores de escuta <add>

Visão geral

O elemento <add> do <listenerAdapters> especifica as configurações de um adaptador de escuta não HTTP que pode ser usado pelo WAS (Serviço de Ativação de Processos do Windows) para se comunicar com um serviço de ouvinte.

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

Instalação

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

Instruções

Não há nenhuma interface do usuário para adicionar adaptadores de escuta para o IIS 7. Para obter exemplos de como adicionar adaptadores de escuta programaticamente, consulte a seção Exemplos de Código deste documento.

Configuração

Atributos

Atributo Descrição
identity Atributo de cadeia de caracteres opcional.

Especifica um nome de conta local, uma conta de domínio ou uma conta interna. A identidade é usada para ajudar a proteger o canal de comunicação WAS entre o serviço de escuta e o adaptador de escuta.
name Atributo de cadeia de caracteres obrigatório.

Especifica o nome exclusivo do adaptador de escuta ao qual o WAS conecta o serviço de escuta.
protocolManagerDll Atributo de cadeia de caracteres opcional.

Especifica o caminho totalmente qualificado ou o nome curto da DLL que contém o código do adaptador de escuta. A DLL deve ser encontrada no disco (usando procedimentos de pesquisa padrão que dependem do tipo de DLL) para que a função especificada em protocolManagerDllInitFunction seja chamada.
protocolManagerDllInitFunction Atributo de cadeia de caracteres opcional.

Especifica o nome da função a ser chamada no código do adaptador de escuta personalizado. A DLL especificada no atributo protocolManagerDll deve conter a função especificada no atributo protocolManagerDllInitFunction.

Observação: esse atributo diferencia maiúsculas de minúsculas; você deve usar o caso correto ao especificar o nome da função de inicialização.

Elementos filho

Nenhum.

Exemplo de configuração

O exemplo de configuração a seguir adiciona um adaptador de escuta para um provedor de protocolo Gopher e especifica o nome da DLL e sua função de inicialização.

<system.applicationHost>
   <listenerAdapters>
      <add name="gopher"
         protocolManagerDll="%SystemRoot%\system32\inetsrv\gophersvc.dll"
         protocolManagerDllInitFunction="GopherInit" />
   </listenerAdapters>
</system.applicationHost>

Exemplo de código

Os exemplos de código a seguir adicionam um adaptador de escuta para um provedor de protocolo Gopher e especificam o nome da DLL e sua função de inicialização.

AppCmd.exe

appcmd.exe set config -section:system.applicationHost/listenerAdapters /+"[name='gopher',protocolManagerDll='%SystemRoot%\system32\inetsrv\gophersvc.dll',protocolManagerDllInitFunction='GopherInit']" /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 listenerAdaptersSection = config.GetSection("system.applicationHost/listenerAdapters");
         ConfigurationElementCollection listenerAdaptersCollection = listenerAdaptersSection.GetCollection();

         ConfigurationElement addElement = listenerAdaptersCollection.CreateElement("add");
         addElement["name"] = @"gopher";
         addElement["protocolManagerDll"] = @"%SystemRoot%\system32\inetsrv\gophersvc.dll";
         addElement["protocolManagerDllInitFunction"] = @"GopherInit";
         listenerAdaptersCollection.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 listenerAdaptersSection As ConfigurationSection = config.GetSection("system.applicationHost/listenerAdapters")
      Dim listenerAdaptersCollection As ConfigurationElementCollection = listenerAdaptersSection.GetCollection

      Dim addElement As ConfigurationElement = listenerAdaptersCollection.CreateElement("add")
      addElement("name") = "gopher"
      addElement("protocolManagerDll") = "%SystemRoot%\system32\inetsrv\gophersvc.dll"
      addElement("protocolManagerDllInitFunction") = "GopherInit"
      listenerAdaptersCollection.Add(addElement)

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var listenerAdaptersSection = adminManager.GetAdminSection("system.applicationHost/listenerAdapters", "MACHINE/WEBROOT/APPHOST");
var listenerAdaptersCollection = listenerAdaptersSection.Collection;

var addElement = listenerAdaptersCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "gopher";
addElement.Properties.Item("protocolManagerDll").Value = "%SystemRoot%\\system32\\inetsrv\\gophersvc.dll";
addElement.Properties.Item("protocolManagerDllInitFunction").Value = "GopherInit";
listenerAdaptersCollection.AddElement(addElement);

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set listenerAdaptersSection = adminManager.GetAdminSection("system.applicationHost/listenerAdapters", "MACHINE/WEBROOT/APPHOST")
Set listenerAdaptersCollection = listenerAdaptersSection.Collection

Set addElement = listenerAdaptersCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "gopher"
addElement.Properties.Item("protocolManagerDll").Value = "%SystemRoot%\system32\inetsrv\gophersvc.dll"
addElement.Properties.Item("protocolManagerDllInitFunction").Value = "GopherInit"
listenerAdaptersCollection.AddElement(addElement)

adminManager.CommitChanges()