Adicionar adaptadores de escuta <add>
Visão geral
O elemento <add>
do <listenerAdapters>
especifica as configurações de um adaptador de escuta não HTTP que pode ser usado pelo WAS (Serviço de Ativação de Processos do Windows) para se comunicar com um serviço de ouvinte.
Compatibilidade
Versão | Observações |
---|---|
IIS 10.0 | O elemento <add> não foi modificado no IIS 10.0. |
IIS 8.5 | O elemento <add> não foi modificado no IIS 8.5. |
IIS 8.0 | O elemento <add> não foi modificado no IIS 8.0. |
IIS 7.5 | O elemento <add> não foi modificado no IIS 7.5. |
IIS 7.0 | O elemento <add> do elemento <listenerAdapters> foi introduzido no IIS 7.0. |
IIS 6,0 | N/D |
Instalação
O elemento <add>
do elemento <listenerAdapters>
está incluído na instalação padrão do IIS 7.
Instruções
Não há nenhuma interface do usuário para adicionar adaptadores de escuta para o IIS 7. Para obter exemplos de como adicionar adaptadores de escuta programaticamente, consulte a seção Exemplos de Código deste documento.
Configuração
Atributos
Atributo | Descrição |
---|---|
identity |
Atributo de cadeia de caracteres opcional. Especifica um nome de conta local, uma conta de domínio ou uma conta interna. A identidade é usada para ajudar a proteger o canal de comunicação WAS entre o serviço de escuta e o adaptador de escuta. |
name |
Atributo de cadeia de caracteres obrigatório. Especifica o nome exclusivo do adaptador de escuta ao qual o WAS conecta o serviço de escuta. |
protocolManagerDll |
Atributo de cadeia de caracteres opcional. Especifica o caminho totalmente qualificado ou o nome curto da DLL que contém o código do adaptador de escuta. A DLL deve ser encontrada no disco (usando procedimentos de pesquisa padrão que dependem do tipo de DLL) para que a função especificada em protocolManagerDllInitFunction seja chamada. |
protocolManagerDllInitFunction |
Atributo de cadeia de caracteres opcional. Especifica o nome da função a ser chamada no código do adaptador de escuta personalizado. A DLL especificada no atributo protocolManagerDll deve conter a função especificada no atributo protocolManagerDllInitFunction. Observação: esse atributo diferencia maiúsculas de minúsculas; você deve usar o caso correto ao especificar o nome da função de inicialização. |
Elementos filho
Nenhum.
Exemplo de configuração
O exemplo de configuração a seguir adiciona um adaptador de escuta para um provedor de protocolo Gopher e especifica o nome da DLL e sua função de inicialização.
<system.applicationHost>
<listenerAdapters>
<add name="gopher"
protocolManagerDll="%SystemRoot%\system32\inetsrv\gophersvc.dll"
protocolManagerDllInitFunction="GopherInit" />
</listenerAdapters>
</system.applicationHost>
Exemplo de código
Os exemplos de código a seguir adicionam um adaptador de escuta para um provedor de protocolo Gopher e especificam o nome da DLL e sua função de inicialização.
AppCmd.exe
appcmd.exe set config -section:system.applicationHost/listenerAdapters /+"[name='gopher',protocolManagerDll='%SystemRoot%\system32\inetsrv\gophersvc.dll',protocolManagerDllInitFunction='GopherInit']" /commit:apphost
Observação
Defina o parâmetro commit para apphost
quando usar AppCmd.exe para definir essas configurações. Isso confirma as definições de configuração para a seção de local apropriado no arquivo 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()