Поделиться через


Добавление адаптеров <прослушивателя>

Общие сведения

Элемент <add> объекта задает параметры конфигурации для адаптера прослушивателя, отличного <listenerAdapters> от HTTP, который может использоваться службой активации Windows (WAS) для взаимодействия со службой прослушивателя.

Совместимость

Версия Примечания
IIS 10.0 Элемент <add> не был изменен в IIS 10.0.
IIS 8,5 Элемент <add> не был изменен в IIS 8.5.
IIS 8,0 Элемент <add> не был изменен в IIS 8.0.
IIS 7,5 Элемент <add> не был изменен в IIS 7.5.
IIS 7.0 Элемент <add> элемента появился <listenerAdapters> в IIS 7.0.
IIS 6,0 Н/Д

Настройка

Элемент <add><listenerAdapters> элемента включен в установку IIS 7 по умолчанию.

Инструкции

Пользовательский интерфейс для добавления адаптеров прослушивателя для IIS 7 отсутствует. Примеры программного добавления адаптеров прослушивателя см. в разделе Примеры кода этого документа.

Конфигурация

Атрибуты

Атрибут Описание
identity Необязательный строковый атрибут.

Указывает имя локальной учетной записи, учетную запись домена или встроенную учетную запись. Удостоверение используется для защиты канала связи WAS между службой прослушивателя и адаптером прослушивателя.
name Обязательный строковый атрибут.

Указывает уникальное имя адаптера прослушивателя, к которому WAS подключает службу прослушивателя.
protocolManagerDll Необязательный строковый атрибут.

Указывает полный путь или короткое имя библиотеки DLL, содержащей код адаптера прослушивателя. Библиотека DLL должна быть найдена на диске (с помощью стандартных процедур поиска, зависящих от типа DLL), чтобы вызвать функцию, указанную в protocolManagerDllInitFunction .
protocolManagerDllInitFunction Необязательный строковый атрибут.

Указывает имя функции, вызываемой в коде адаптера пользовательского прослушивателя. Библиотека DLL, указанная в атрибуте protocolManagerDll, должна содержать функцию, указанную в атрибуте protocolManagerDllInitFunction .

Примечание: Этот атрибут учитывает регистр; При указании имени функции инициализации необходимо использовать правильный вариант.

Дочерние элементы

Отсутствует.

Образец конфигурации

В следующем примере конфигурации добавляется адаптер прослушивателя для поставщика протокола Gopher и указывается имя библиотеки DLL и ее функция инициализации.

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

Пример кода

В следующих примерах кода добавляется адаптер прослушивателя для поставщика протокола Gopher и указывается имя библиотеки DLL и ее функция инициализации.

AppCmd.exe

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

Примечание

При использовании AppCmd.exe для настройки этих параметров для параметра apphostфиксации необходимо задать значение . Это зафиксирует параметры конфигурации в соответствующем разделе расположения в файле 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()