Condividi tramite


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