Compartir a través de


Adición de adaptadores de escucha <add>

Información general

El elemento <add> de <listenerAdapters> especifica los valores de configuración de un adaptador de escucha que no es HTTP que el Servicio de activación de procesos (WAS) de Windows puede usar para comunicarse con un servicio de escucha.

Compatibilidad

Versión Notas
IIS 10.0 El elemento <add> no se modificó en IIS 10.0.
IIS 8.5 El elemento <add> no se modificó en IIS 8.5.
IIS 8.0 El elemento <add> no se modificó en IIS 8.0.
IIS 7.5 El elemento <add> no se modificó en IIS 7.5.
IIS 7.0 El elemento <add> del elemento <listenerAdapters> se introdujo en IIS 7.0.
IIS 6,0 N/D

Configuración

El elemento <add> del elemento <listenerAdapters> se incluye en la instalación predeterminada de IIS 7.

Procedimientos

No hay ninguna interfaz de usuario para agregar adaptadores de agente de escucha para IIS 7. Para obtener ejemplos de cómo agregar adaptadores de escucha mediante programación, consulte la sección ejemplos de código de este documento.

Configuración

Atributos

Atributo Descripción
identity Atributo de cadena opcional.

Especifica un nombre de cuenta local, una cuenta de dominio o una cuenta integrada. La identidad se usa para ayudar a proteger el canal de comunicación WAS entre el servicio de escucha y el adaptador del agente de escucha.
name Atributo de cadena necesario.

Especifica el nombre único del adaptador del agente de escucha al que WAS conecta el servicio de escucha.
protocolManagerDll Atributo de cadena opcional.

Especifica la ruta de acceso completa o el nombre corto del archivo DLL que contiene el código del adaptador del agente de escucha. El archivo DLL debe encontrarse en el disco (mediante procedimientos de búsqueda estándar que dependen del tipo DLL) para que se llame a la función especificada en protocolManagerDllInitFunction.
protocolManagerDllInitFunction Atributo de cadena opcional.

Especifica el nombre de la función que se va a llamar en el código del adaptador del agente de escucha personalizado. El archivo DLL especificado en el atributo protocolManagerDll debe contener la función especificada en el atributo protocolManagerDllInitFunction.

Nota: Este atributo distingue mayúsculas de minúsculas; debe usar el caso correcto al especificar el nombre de la función de inicialización.

Elementos secundarios

Ninguno.

Ejemplo de configuración

En el ejemplo de configuración siguiente se agrega un adaptador de agente de escucha para un proveedor de protocolo Gopher y se especifica el nombre del archivo DLL y su función de inicialización.

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

Código de ejemplo

Los ejemplos de código siguientes agregan un adaptador de agente de escucha para un proveedor de protocolo Gopher y especifican el nombre del archivo DLL y su función de inicialización.

AppCmd.exe

appcmd.exe set config -section:system.applicationHost/listenerAdapters /+"[name='gopher',protocolManagerDll='%SystemRoot%\system32\inetsrv\gophersvc.dll',protocolManagerDllInitFunction='GopherInit']" /commit:apphost

Nota:

Debe asegurarse de establecer el parámetro de confirmación en apphost cuando use AppCmd.exe para configurar estas opciones. Esto confirma los valores de configuración en la sección de ubicación adecuada del archivo 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()