Partilhar via


Adicionar elemento para httpHandlers (ASP.NET Settings esquema)

Adiciona um manipulador para um aplicativo. Um manipulador é um IHttpHandler ou IHttpHandlerFactory interface que processa as solicitações para URLs específicas.

<configuration> Element
  System.Web elemento (esquema configurações ASP.NET) 
    httpHandlers elemento (esquema configurações ASP.NET)
      Adicionar elemento para httpHandlers (ASP.NET Settings esquema)

<add verb="verb list"
          path="path/wildcard"
     type="type,assemblyname"
     validate="true|false" />

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho, e elementos pai.

Atributos

Atributo

Descrição

path

Atributo obrigatório.

Especifica que o atributo de caminho pode conter um único caminho de URL ou uma seqüência de caracteres curinga simples (por exemplo, *.aspx).

type

Atributo obrigatório.

Especifica uma combinação de classe/montagem separada por vírgulas. ASP.NET procura por assembly DLL primeiro no diretório \bin particular do aplicativo e, em seguida, no cache de assemblies do sistema.

verb

Atributo obrigatório.

Especifica que a lista de verbos pode ser uma lista separada por vírgulas de verbos HTTP (por exemplo, "GET, PUT, POST") ou um mapeamento de script de início (por exemplo, o caractere curinga asterisco [*]).

validate

Atributo opcional.

If falseNão o ASP.NET tentará carregar a classe até que a solicitação correspondente real. Potencialmente, isso pode atrasar o erro, mas ele melhora o time de inicialização.

Elementos filho

Nenhum.

Elementos pai

Elemento

Descrição

configuration

Especifica o elemento de raiz em todos os arquivos de configuração que é usado pelo Common Language Runtime e os aplicativos .NET Framework.

System.web

Especifica o elemento raiz referente à seção de configuração do ASP.NET.

httpHandlers

Mapeia as solicitações de entrada para o apropriado IHttpHandler ou IHttpHandlerFactory interface, de acordo com a URL e o verbo HTTP especificado na solicitação.

Comentários

The <httpHandlers> as configurações são herdadas por subdirectives.

The <add> as diretivas são processadas em ordem seqüencial, de cima para baixo. Se dois ou mais de <add> subdirectives especificarem a mesma combinação de verbo/caminho, o final <add> substitui todos os outros.

Serviços de Informações da Internet da Microsoft (IIS) possui o próprio modo para mapeamento de extensões para ISAPIs. Para que as configurações para uma determinada extensão nesta seção entrem em vigor, a extensão deve ser mapeada no IIS para ISAPI do ASP.NET. Para extensões diferentes do padrão (algo que não seja .aspx, .asmx, .asax e assim por diante), você deve configurar o IIS.

Configuração padrão

O seguinte padrão add elemento está configurado no computador. arquivo de configuração no .NET estrutura versão 1,1.

<add verb="*" path="*.vjsproj" type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.java" type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.jsl" type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="trace.axd" type="System.Web.Handlers.TraceHandler"/>
<add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory"/>
<add verb="*" path="*.ashx" type="System.Web.UI.SimpleHandlerFactory"/>
<add verb="*" path="*.asmx" type="System.Web.Services.Protocols.WebServiceHandlerFactory,
System.Web.Services, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
     validate="false"/>
<add verb="*" path="*.rem" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory
System.Runtime.Remoting, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
     validate="false"/>
<add verb="*" path="*.soap" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,
System.Runtime.Remoting, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
     validate="false"/>
<add verb="*" path="*.asax" type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.ascx" type="System.Web.HttpForbiddenHandler"/>
<add verb="GET,HEAD" path="*.dll.config" type="System.Web.StaticFileHandler"/>
<add verb="GET,HEAD" path="*.exe.config" type="System.Web.StaticFileHandler"/>
<add verb="*" path="*.config" type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.cs" type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.csproj" type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.vb" type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.vbproj" type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.webinfo" type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.asp" type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.licx" type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.resx" type="System.Web.HttpForbiddenHandler"/>
<add verb="*" path="*.resources" type="System.Web.HttpForbiddenHandler"/>
<add verb="GET,HEAD" path="*" type="System.Web.StaticFileHandler"/>
<add verb="*" path="*" type="System.Web.HttpMethodNotAllowedHandler"/>

O seguinte padrão add elemento está configurado no computador. arquivo de configuração no .NET estrutura versão 1,0.

<add verb="*" path="trace.axd" type="System.Web.Handlers.TraceHandler" />
<add verb="*" path="*.aspx" type="System.Web.UI.PageHandlerFactory" />
<add verb="*" path="*.ashx" type="System.Web.UI.SimpleHandlerFactory" />
<add verb="*" path="*.asmx" type="System.Web.Services.Protocols.WebServiceHandlerFactory,
System.Web.Services, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
     validate="false"/> 
<add verb="*" path="*.rem" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,
System.Runtime.Remoting, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
     validate="false"/>
<add verb="*" path="*.soap" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,
System.Runtime.Remoting, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
     validate="false"/>
<add verb="*" path="*.asax" type="System.Web.HttpForbiddenHandler" />
<add verb="*" path="*.ascx" type="System.Web.HttpForbiddenHandler" />
<add verb="*" path="*.config" type="System.Web.HttpForbiddenHandler" />
<add verb="*" path="*.cs" type="System.Web.HttpForbiddenHandler" />
<add verb="*" path="*.csproj" type="System.Web.HttpForbiddenHandler" />
<add verb="*" path="*.vb" type="System.Web.HttpForbiddenHandler" />
<add verb="*" path="*.vbproj" type="System.Web.HttpForbiddenHandler" />
<add verb="*" path="*.webinfo" type="System.Web.HttpForbiddenHandler" />
<add verb="*" path="*.asp" type="System.Web.HttpForbiddenHandler" />
<add verb="*" path="*.licx" type="System.Web.HttpForbiddenHandler" />
<add verb="*" path="*.resx" type="System.Web.HttpForbiddenHandler" />
<add verb="*" path="*.resources" type="System.Web.HttpForbiddenHandler" />
<add verb="GET,HEAD" path="*" type="System.Web.StaticFileHandler" />
<add verb="*" path="*" type="System.Web.HttpMethodNotAllowedHandler" />

O seguinte padrão add elemento está configurado no arquivo raiz Web.config no .NET estrutura versão 2.0.

<add path="trace.axd" verb="*" type="System.Web.Handlers.TraceHandler" validate="True" />
<add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="True" />
<add path="*.axd" verb="*" type="System.Web.HttpNotFoundHandler" 
     validate="True" />
<add path="*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory" validate="True" />
<add path="*.ashx" verb="*" type="System.Web.UI.SimpleHandlerFactory" validate="True" />
<add path="*.asmx" verb="*" type="System.Web.Services.Protocols.WebServiceHandlerFactory,
System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
     validate="False" />
<add path="*.rem" verb="*" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,
System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
     validate="False" />
<add path="*.soap" verb="*" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,
System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
     validate="False" />
<add path="*.asax" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.ascx" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.master" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.skin" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.browser" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.sitemap" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.dll.config" verb="GET,HEAD" type="System.Web.StaticFileHandler" validate="True" />
<add path="*.exe.config" verb="GET,HEAD" type="System.Web.StaticFileHandler" validate="True" />
<add path="*.config" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.cs" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.csproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.vb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.vbproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.webinfo" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.licx" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.resx" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.resources" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.mdb" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.vjsproj" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.java" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.jsl" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.ldb" verb="*" type="System.Web.HttpForbiddenHandler"  validate="True" />
<add path="*.dsdgm" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.ssdgm" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.lsad" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.ssmap" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.cd" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.dsprototype" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.lsaprototype" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.sdm" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.sdmDocument" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.mdf" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*.ldf" verb="*" type="System.Web.HttpForbiddenHandler" validate="True" />
<add path="*" verb="GET,HEAD,POST" type="System.Web.DefaultHttpHandler" validate="True" />
<add path="*" verb="*" type="System.Web.HttpMethodNotAllowedHandler" validate="True" />

Exemplo

O exemplo de código a seguir demonstra como mapear todas as solicitações HTTP para arquivos com a extensão de nome de arquivo .New a classe MyHandler.New e para HTTP GET e HEAD solicitações de arquivos com a extensão de nome de arquivo .MyNewFileExtension a classe MyHandler.MNFEHandler. Ambas as classes estão no conjunto de módulos (assembly) MyHandler que está no arquivo MyHandler.dll.

<configuration>
   <system.web>
      <httpHandlers>
         <add verb="*" 
              path="*.New" 
              type="MyHandler.New,MyHandler"/>
         <add verb="GET,HEAD" 
              path="*.MyNewFileExtension" 
              type="MyHandler.MNFEHandler,MyHandler.dll"/>
     </httpHandlers>
   <system.web>
</configuration>

Informações do elemento

Manipulador de seção de configuração

System.Web.Configuration.HttpHandlersSection

Configuração de membro

SystemWebSectionGroup.HttpHandlers

Locais configuráveis

Machine.config

Web.config de nível de raiz

Web.config de nível de aplicativo

Virtual ou físico diretório–nível Web.config

Requisitos

Serviços de Informações da Internet da Microsoft (IIS) versão 5.0, 5.1 ou 6.0

O .NET estrutura versão 1.0, 1.1 ou 2.0

Microsoft Visual Studio 2003 ou o Visual Studio 2005

Consulte também

Tarefas

Como: Bloquear ASP.NET Configuration Settings

Conceitos

Visão Geral da Configuração ASP.NET

Controles de Servidor Web do ASP.NET e Recursos do Navegador

Protegendo configuração ASP.NET

Cenários de configuração ASP.NET

Referência

httpHandlers elemento (esquema configurações ASP.NET)

System.Web elemento (esquema configurações ASP.NET) 

<configuration> Element

desmarcar o elemento de httpHandlers (ASP.NET Settings esquema)

Remover elemento para httpHandlers (ASP.NET Settings esquema)

System.Configuration

System.Web.Configuration

Outros recursos

Arquivos de configuração ASP.NET

Definições de configuração ASP.NET

Configurações gerais (ASP.NET)

API de Configuração do ASP.NET