Filtro <filter>
Visão geral
O elemento <filter>
da coleção <isapiFilters>
configura um filtro ISAPI para processar dados de solicitação do cliente ou dados de resposta do servidor.
Compatibilidade
Versão | Observações |
---|---|
IIS 10.0 | O elemento <filter> não foi modificado no IIS 10.0. |
IIS 8.5 | O elemento <filter> não foi modificado no IIS 8.5. |
IIS 8.0 | O elemento <filter> não foi modificado no IIS 8.0. |
IIS 7.5 | O elemento <filter> não foi modificado no IIS 7.5. |
IIS 7.0 | O elemento <filter> da coleção <isapiFilters> foi introduzido no IIS 7.0. |
IIS 6,0 | A coleção <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
Atributos
Atributo | Descrição | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
enableCache |
Atributo booliano opcional. Especifica se o cache HTTP.sys está habilitado (true) ou desabilitado (false) para respostas de servidor filtradas. O valor padrão é false . |
||||||||||||||
enabled |
Atributo booliano opcional. Especifica se o filtro instalado está habilitado (true) ou desabilitado (false). O valor padrão é true . |
||||||||||||||
name |
Atributo de cadeia de caracteres obrigatório. Especifica o nome exclusivo do filtro ISAPI. |
||||||||||||||
path |
Atributo de cadeia de caracteres obrigatório. Especifica o caminho físico completo do arquivo .dll do filtro ISAPI. |
||||||||||||||
preCondition |
Atributo de cadeia de caracteres opcional. Especifica as condições sob as quais o filtro ISAPI será executado. O atributo preCondition pode ser um ou mais dos valores possíveis a seguir. Se você especificar mais de um valor, separe os valores com uma vírgula (,).
|
Elementos filho
Nenhum.
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()