Aggiunta di adattatori <listener>
Panoramica
L'elemento <add>
dell'elemento <listenerAdapters>
specifica le impostazioni di configurazione per una scheda di listener non HTTP che può essere usata dal servizio di attivazione dei processi di Windows (WAS) per comunicare con un servizio listener.
Compatibilità
Versione | Note |
---|---|
IIS 10.0 | L'elemento <add> non è stato modificato in IIS 10.0. |
IIS 8,5 | L'elemento <add> non è stato modificato in IIS 8.5. |
IIS 8,0 | L'elemento <add> non è stato modificato in IIS 8.0. |
IIS 7,5 | L'elemento <add> non è stato modificato in IIS 7.5. |
IIS 7.0 | L'elemento <add> dell'elemento <listenerAdapters> è stato introdotto in IIS 7.0. |
IIS 6.0 | N/D |
Installazione
L'elemento <add>
dell'elemento è incluso nell'installazione <listenerAdapters>
predefinita di IIS 7.
Procedure
Non esiste un'interfaccia utente per l'aggiunta di adattatori listener per IIS 7. Per esempi di come aggiungere adattatori listener a livello di codice, vedere la sezione Esempi di codice di questo documento.
Configurazione
Attributi
Attributo | Descrizione |
---|---|
identity |
Attributo stringa facoltativo. Specifica un nome account locale, un account di dominio o un account predefinito. L'identità viene usata per proteggere il canale di comunicazione WAS tra il servizio listener e l'adapter del listener. |
name |
Attributo stringa obbligatorio. Specifica il nome univoco dell'adattatore listener a cui è connesso il servizio listener. |
protocolManagerDll |
Attributo stringa facoltativo. Specifica il percorso completo o il nome breve della DLL che contiene il codice dell'adattatore listener. La DLL deve essere trovata su disco (usando le procedure di ricerca standard che dipendono dal tipo di DLL) per poter chiamare la funzione specificata in protocolManagerDllInitFunction . |
protocolManagerDllInitFunction |
Attributo stringa facoltativo. Specifica il nome della funzione da chiamare nel codice dell'adattatore del listener personalizzato. La DLL specificata nell'attributo protocolManagerDll deve contenere la funzione specificata nell'attributo protocolManagerDllInitFunction . Nota: Questo attributo è distinzione tra maiuscole e minuscole; è necessario usare il caso corretto quando si specifica il nome della funzione di inizializzazione. |
Elementi figlio
Nessuno.
Esempio di configurazione
L'esempio di configurazione seguente aggiunge un adattatore listener per un provider di protocolli Gopher e specifica sia il nome della DLL che la relativa funzione di inizializzazione.
<system.applicationHost>
<listenerAdapters>
<add name="gopher"
protocolManagerDll="%SystemRoot%\system32\inetsrv\gophersvc.dll"
protocolManagerDllInitFunction="GopherInit" />
</listenerAdapters>
</system.applicationHost>
Codice di esempio
Gli esempi di codice seguenti aggiungono un adattatore listener per un provider di protocolli Gopher e specificano sia il nome della DLL che la relativa funzione di inizializzazione.
AppCmd.exe
appcmd.exe set config -section:system.applicationHost/listenerAdapters /+"[name='gopher',protocolManagerDll='%SystemRoot%\system32\inetsrv\gophersvc.dll',protocolManagerDllInitFunction='GopherInit']" /commit:apphost
Nota
È necessario assicurarsi di impostare il parametro commit su apphost
quando si usa AppCmd.exe per configurare queste impostazioni. Questa operazione esegue il commit delle impostazioni di configurazione nella sezione percorso appropriata nel file di 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()