リスナー アダプターの追加 <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()