リスナー アダプターの追加 <add>

概要

<listenerAdapters><add> 要素は、Windows プロセス アクティブ化サービス (WAS) でリスナー サービスと通信するために使用できる HTTP 以外のリスナー アダプターの構成設定を指定します。

互換性

バージョン メモ
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 <listenerAdapters> 要素の <add> 要素が IIS 7.0 で導入されました。
IIS 6.0 該当なし

段取り

<listenerAdapters> 要素の <add> 要素は、IIS 7 の既定のインストールに含まれています。

操作方法

IIS 7 のリスナー アダプターを追加するためのユーザー インターフェイスはありません。 プログラムでリスナー アダプターを追加する方法の例については、このドキュメントのコード サンプルのセクションを参照してください。

構成

属性

属性 説明
identity 省略可能な文字列属性。

ローカル アカウント名、ドメイン アカウント、または組み込みアカウントを指定します。 この ID は、リスナー サービスとリスナー アダプターの間の WAS 通信チャネルをセキュリティで保護するために使用されます。
name 必須の文字列属性です。

WAS がリスナー サービスに接続するリスナー アダプターの一意の名前を指定します。
protocolManagerDll 省略可能な文字列属性。

リスナー アダプターのコードを含む DLL の完全修飾パスまたは短い名前を指定します。 protocolManagerDllInitFunction で指定された関数を呼び出すために、DLL は (DLL の種類に依存する標準の検索プロシージャを使用して) ディスク上で検出する必要があります。
protocolManagerDllInitFunction 省略可能な文字列属性。

カスタム リスナー アダプターのコードで呼び出す関数の名前を指定します。 protocolManagerDll 属性で指定する DLL には、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

Note

AppCmd.exe を使用してこれらの設定を構成するときは、commit パラメーターを必ず 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()