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()