Bagikan melalui


Menambahkan Adapter <Listener>

Gambaran Umum

Elemen <add> dari <listenerAdapters> menentukan pengaturan konfigurasi untuk adaptor pendengar non-HTTP yang dapat digunakan oleh Windows Process Activation Service (WAS) untuk berkomunikasi dengan layanan pendengar.

Kompatibilitas

Versi Catatan
IIS 10.0 Elemen <add> tidak dimodifikasi dalam IIS 10.0.
IIS 8.5 Elemen <add> tidak dimodifikasi dalam IIS 8.5.
IIS 8.0 Elemen <add> tidak dimodifikasi dalam IIS 8.0.
IIS 7.5 Elemen <add> tidak dimodifikasi dalam IIS 7.5.
IIS 7.0 Elemen <add><listenerAdapters> elemen diperkenalkan di IIS 7.0.
IIS 6.0 T/A

Siapkan

Elemen <add><listenerAdapters> elemen disertakan dalam penginstalan default IIS 7.

Bagaimana Caranya

Tidak ada antarmuka pengguna untuk menambahkan adaptor pendengar untuk IIS 7. Untuk contoh cara menambahkan adaptor pendengar secara terprogram, lihat bagian Sampel Kode dari dokumen ini.

Konfigurasi

Atribut

Atribut Deskripsi
identity Atribut string opsional.

Menentukan nama akun lokal, akun domain, atau akun bawaan. Identitas digunakan untuk membantu mengamankan saluran komunikasi WAS antara layanan pendengar dan adaptor pendengar.
name Atribut string yang diperlukan.

Menentukan nama unik adaptor pendengar tempat WAS menyambungkan layanan pendengar.
protocolManagerDll Atribut string opsional.

Menentukan jalur yang sepenuhnya memenuhi syarat atau nama pendek DLL yang berisi kode adaptor pendengar. DLL harus ditemukan pada disk (dengan menggunakan prosedur pencarian standar yang bergantung pada jenis DLL) agar fungsi yang ditentukan dalam protocolManagerDllInitFunction dipanggil.
protocolManagerDllInitFunction Atribut string opsional.

Menentukan nama fungsi yang akan dipanggil dalam kode adaptor pendengar kustom. DLL yang ditentukan dalam atribut protocolManagerDll harus berisi fungsi yang ditentukan dalam atribut protocolManagerDllInitFunction .

Catatan: Atribut ini peka huruf besar/kecil; Anda harus menggunakan kasus yang benar ketika Anda menentukan nama fungsi inisialisasi.

Elemen Anak

Tidak ada.

Sampel Konfigurasi

Sampel konfigurasi berikut menambahkan adaptor pendengar untuk penyedia protokol Gopher, dan menentukan nama DLL dan fungsi inisialisasinya.

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

Kode Sampel

Sampel kode berikut menambahkan adaptor pendengar untuk penyedia protokol Gopher, dan menentukan nama DLL dan fungsi inisialisasinya.

AppCmd.exe

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

Catatan

Anda harus memastikan untuk mengatur parameter penerapan ke apphost saat Anda menggunakan AppCmd.exe untuk mengonfigurasi pengaturan ini. Ini menerapkan pengaturan konfigurasi ke bagian lokasi yang sesuai dalam file 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()