Partager via


Ajout d’adaptateurs d’écoute <add>

Vue d’ensemble

L’élément <add> de <listenerAdapters> définit les paramètres de configuration pour un adaptateur d’écouteur non HTTP qui peut être utilisé par le service d’activation de processus Windows (WAS) pour communiquer avec un service d’écoute.

Compatibilité

Version Notes
IIS 10.0 L’élément <add> n’a pas été modifié dans IIS 10.0.
IIS 8.5 L’élément <add> n’a pas été modifié dans IIS 8.5.
IIS 8.0 L’élément <add> n’a pas été modifié dans IIS 8.0.
IIS 7.5 L’élément <add> n’a pas été modifié dans IIS 7.5.
IIS 7.0 L’élément <add> de l’élément <listenerAdapters> a été introduit dans IIS 7.0.
IIS 6.0 S/O

Programme d’installation

L’élément <add> de l’élément <listenerAdapters> est inclus dans l’installation par défaut d’IIS 7.

Procédure

Il n’existe aucune interface utilisateur pour l’ajout d’adaptateurs d’écoute pour IIS 7. Pour obtenir des exemples d’ajout d’adaptateur d’écoute par programmation, consultez la section Exemples de code de ce document.

Configuration

Attributs

Attribut Description
identity Attribut de chaîne facultatif.

Définit un nom de compte local, un compte de domaine ou un compte intégré. L’identité est utilisée pour sécuriser le canal de communication WAS entre le service d’écoute et l’adaptateur d’écoute.
name Attribut de chaîne requis.

Définit le nom unique de l’adaptateur d’écoute auquel WAS connecte le service d’écoute.
protocolManagerDll Attribut de chaîne facultatif.

Définit le chemin complet ou le nom court de la DLL qui contient le code de l’adaptateur d’écoute. La DLL doit être trouvée sur le disque (à l’aide de procédures de recherche standard qui dépendent du type DLL) afin que la fonction spécifiée dans protocolManagerDllInitFunction soit appelée.
protocolManagerDllInitFunction Attribut de chaîne facultatif.

Définit le nom de la fonction à appeler dans le code de l’adaptateur d’écoute personnalisé. La DLL définit par l’attribut protocolManagerDll doit contenir la fonction spécifiée dans l’attribut protocolManagerDllInitFunction.

Remarque : cet attribut respecte la casse ; vous devez utiliser la case correcte lorsque vous spécifiez le nom de la fonction d’initialisation.

Éléments enfants

Aucune.

Exemple Configuration

L’exemple de configuration suivant ajoute un adaptateur d’écoute à un fournisseur de protocole Gopher et spécifie à la fois le nom de la DLL et sa fonction d’initialisation.

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

Exemple de code

Les exemples de code suivants ajoutent un adaptateur d’écoute à un fournisseur de protocole Gopher et spécifient à la fois le nom de la DLL et sa fonction d’initialisation.

AppCmd.exe

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

Remarque

Vous devez veiller à définir le paramètre commit sur apphost quand vous utilisez AppCmd.exe pour configurer ces paramètres. Cela valide les paramètres de configuration à l’emplacement de la section appropriée dans le fichier 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()