Filtros ISAPI <isapiFilters>
Visão geral
O elemento <isapiFilters>
permite que você gerencie filtros ISAPI em seu servidor IIS (Serviços de Informações da Internet) 7. Você pode adicionar um filtro ISAPI quando quiser aprimorar a funcionalidade do servidor Web. Por exemplo, você pode ter um filtro ISAPI que captura informações sobre solicitações HTTP e salva as informações em um banco de dados.
Observação
Embora o IIS 7 dê suporte a filtros ISAPI, a Microsoft recomenda que você estenda a funcionalidade do servidor Web usando módulos em vez de usar filtros ISAPI.
O elemento <isapiFilters>
pode conter um ou mais elementos <filter>
, cada um dos quais define um filtro ISAPI habilitado para seu servidor ou site. Ele também pode conter um elemento <remove>
que você pode usar para remover um filtro ISAPI específico herdado de níveis superiores na hierarquia de configuração. O elemento <isapiFilters>
também pode conter um elemento <clear>
, que remove todos os filtros ISAPI herdados de níveis superiores na hierarquia de configuração.
Compatibilidade
Versão | Observações |
---|---|
IIS 10.0 | O elemento <isapiFilters> não foi modificado no IIS 10.0. |
IIS 8.5 | O elemento <isapiFilters> não foi modificado no IIS 8.5. |
IIS 8.0 | O elemento <isapiFilters> não foi modificado no IIS 8.0. |
IIS 7.5 | O elemento <isapiFilters> não foi modificado no IIS 7.5. |
IIS 7.0 | O elemento <isapiFilters> foi introduzido no IIS 7.0. |
IIS 6,0 | O elemento <isapiFilters> substitui as propriedades de metabase FilterEnableCache e FilterPath do IIS 6.0. |
Instalação
Para usar o elemento <isapiFilters>
, você deve instalar o módulo Filtros ISAPI no servidor IIS 7 e posterior. Para fazer isso, execute as etapas a seguir.
Windows Server 2012 R2 ou Windows Server 2012
- Na barra de tarefas, clique em Gerenciador do Servidor.
- No Gerenciador do Servidor, clique no menu Gerenciar e clique em Adicionar Funções e Recursos.
- No assistente Adicionar Funções e Recursos, clique em Avançar. Selecione o tipo de instalação e clique em Avançar. Selecione o servidor de destino e clique em Avançar.
- Na página Funções de Servidor, expanda Servidor Web (IIS), Servidor Web, Desenvolvimento do Aplicativo e selecionar Filtros ISAPI. Clique em Avançar.
. - Na página Selecionar recursos, clique em Avançar.
- Na página Confirmar seleções de instalação, clique em Instalar.
- Na página Resultados , clique em Fechar.
Windows 8 ou Windows 8.1
- Na tela Iniciar, mova o ponteiro até o canto inferior esquerdo, clique com o botão direito do mouse no botão Iniciar e clique em Painel de Controle.
- Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar recursos do Windows.
- Expanda Serviços de Informações da Internet, Serviços da World Wide Web, Recursos de Desenvolvimento de Aplicativos e selecione Filtros ISAPI.
- Clique em OK.
- Clique em Fechar.
Windows Server 2008 R2 ou Windows Server 2008
- Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador do Servidor.
- No painel de hierarquia do Gerenciador do Servidor, expanda Funções e clique em Servidor Web (IIS).
- No painel Servidor Web (IIS), role até a seção Serviços de Função e clique em Adicionar Serviços de Função.
- Na página Selecionar Serviços de Função do Assistente para Adicionar Serviços de Função, selecione Filtros ISAPI e clique em Avançar.
- Na página Confirmar Seleções de Instalação, clique em Instalar.
- Na página Resultados , clique em Fechar.
Windows Vista ou Windows 7
- Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
- Em Painel de Controle, clique em Programas e Recursos e clique em Ativar ou desativar Recursos do Windows.
- Na caixa de diálogo Recursos do Windows, expanda Serviços de Informações da Internet, em seguida, World Wide Web Services e Recursos de Desenvolvimento de Aplicativos.
- Selecione Filtros ISAPI e clique em OK.
Instruções
Como adicionar um filtro ISAPI
Abra o Gerenciador dos Serviços de Informações da Internet (IIS):
Caso você esteja usando o Windows Server 2012 ou o Windows Server 2012 R2:
- Na barra de tarefas, clique em Gerenciador do Servidor, em Ferramentas e em Gerenciador dos Serviços de Informações da Internet (IIS).
Se você estiver usando o Windows 8 ou Windows 8.1:
- Mantenha pressionada a tecla Windows, pressione a letra X e clique em Painel de Controle.
- Clique em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
Caso você esteja usando o Windows Server 2008 ou o Windows Server 2008 R2:
- Na barra de tarefas, clique em Iniciar, vá para Ferramentas Administrativas e clique em Gerenciador dos Serviços de Informações da Internet (IIS).
Se você estiver usando o Windows Vista ou Windows 7:
- Na barra de tarefas, clique em Iniciar e, depois, em Painel de Controle.
- Clique duas vezes em Ferramentas Administrativas e clique duas vezes em Gerenciador dos Serviços de Informações da Internet (IIS).
No painel Conexões, vá para a conexão ou site para o qual você deseja configurar filtros ISAPI.
No painel Página Inicial, clique duas vezes em Filtros ISAPI.
No painel Ações, clique em Adicionar...
Na caixa de diálogo Filtro caixa de diálogo Adicionar Filtro ISAPI, digite um nome amigável para o filtro ISAPI.
Na caixa Executável, digite o caminho do sistema de arquivos do local do arquivo de filtro ISAPI ou clique nas reticências (...) para navegar até a pasta que contém o arquivo de filtro ISAPI e clique em OK.
Configuração
Você pode adicionar um filtro ISAPI no nível do servidor e no nível do site. Se você adicionar o filtro ISAPI no nível do servidor, o filtro interceptará todas as solicitações feitas ao servidor. Se você adicionar o filtro ISAPI a um site específico, o filtro interceptará todas as solicitações feitas a esse site.
Você pode configurar o elemento <isapiFilters>
no nível do servidor no arquivo ApplicationHost.config ou no nível do site no arquivo Web.config apropriado.
Atributos
Nenhum.
Elementos filho
Elemento | Descrição |
---|---|
clear |
Elemento opcional. Remove todas as referências a filtros ISAPI da coleção de filtros ISAPI. |
filter |
Elemento opcional. Adiciona um filtro ISAPI à coleção de filtros ISAPI. |
remove |
Elemento opcional. Remove uma referência a um filtro ISAPI da coleção de filtros ISAPI. |
Exemplo de configuração
O exemplo de configuração a seguir adiciona um filtro ISAPI chamado SalesQueryIsapi a um site ou aplicativo. O exemplo nomeia e habilita o filtro ISAPI com os atributos name e enabled. Ele também usa o atributo enableCache para desabilitar o cache HTTP.sys e o atributo path para especificar o local da DLL ISAPI.
<configuration>
<system.webServer>
<isapiFilters>
<filter
name="SalesFilter"
enabled="true"
enableCache="false"
path="C:\Inetpub\filters\SalesFilter.dll" />
</isapiFilters>
</system.webServer>
</configuration>
Exemplo de código
Os exemplos a seguir configuram um filtro ISAPI chamado SalesQueryIsapi no servidor. Cada um dos exemplos usa a propriedade name para especificar um nome para o filtro ISAPI, a propriedade enableCache para desabilitar o cache HTTP.sys e a propriedade path para especificar o local da DLL ISAPI.
AppCmd.exe
appcmd.exe set config -section:system.webServer/isapiFilters /+"[name='SalesQueryIsapi',path='c:\Inetpub\www.contoso.com\filters\SalesQueryIsapi.dll',enabled='True',enableCache='True']" /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 isapiFiltersSection = config.GetSection("system.webServer/isapiFilters");
ConfigurationElementCollection isapiFiltersCollection = isapiFiltersSection.GetCollection();
ConfigurationElement filterElement = isapiFiltersCollection.CreateElement("filter");
filterElement["name"] = @"SalesQueryIsapi";
filterElement["path"] = @"c:\Inetpub\www.contoso.com\filters\SalesQueryIsapi.dll";
filterElement["enabled"] = true;
filterElement["enableCache"] = true;
isapiFiltersCollection.Add(filterElement);
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 isapiFiltersSection As ConfigurationSection = config.GetSection("system.webServer/isapiFilters")
Dim isapiFiltersCollection As ConfigurationElementCollection = isapiFiltersSection.GetCollection
Dim filterElement As ConfigurationElement = isapiFiltersCollection.CreateElement("filter")
filterElement("name") = "SalesQueryIsapi"
filterElement("path") = "c:\Inetpub\www.contoso.com\filters\SalesQueryIsapi.dll"
filterElement("enabled") = True
filterElement("enableCache") = True
isapiFiltersCollection.Add(filterElement)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var isapiFiltersSection = adminManager.GetAdminSection("system.webServer/isapiFilters", "MACHINE/WEBROOT/APPHOST");
var isapiFiltersCollection = isapiFiltersSection.Collection;
var filterElement = isapiFiltersCollection.CreateNewElement("filter");
filterElement.Properties.Item("name").Value = "SalesQueryIsapi";
filterElement.Properties.Item("path").Value = "c:\\Inetpub\\www.contoso.com\\filters\\SalesQueryIsapi.dll";
filterElement.Properties.Item("enabled").Value = true;
filterElement.Properties.Item("enableCache").Value = true;
isapiFiltersCollection.AddElement(filterElement);
adminManager.CommitChanges();
VBScript
Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set isapiFiltersSection = adminManager.GetAdminSection("system.webServer/isapiFilters", "MACHINE/WEBROOT/APPHOST")
Set isapiFiltersCollection = isapiFiltersSection.Collection
Set filterElement = isapiFiltersCollection.CreateNewElement("filter")
filterElement.Properties.Item("name").Value = "SalesQueryIsapi"
filterElement.Properties.Item("path").Value = "c:\\Inetpub\\www.contoso.com\\filters\\SalesQueryIsapi.dll"
filterElement.Properties.Item("enabled").Value = True
filterElement.Properties.Item("enableCache").Value = True
isapiFiltersCollection.AddElement filterElement
adminManager.CommitChanges()