Sdílet prostřednictvím


Podelement add elementu httpHandlers (schéma nastavení ASP.NET)

Přidá obslužnou rutinu do aplikace. Obslužná rutina je rozhraní IHttpHandler nebo IHttpHandlerFactory, které zpracovává požadavky pro konkrétní adresy URL.

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

Atributy a prvky

Následující části popisují atributy, podřízené prvky a rodičovské prvky.

v případě vícehodnotových atributů

Atribut

Popis

path

Požadovaný atribut.

Určuje, že atribut path může obsahovat buď jednu cestu URL, a nebo jednoduchý zástupný řetězec (například *.aspx).

type

Požadovaný atribut.

Určuje čárkami oddělenou kombinaci třída/sestavení. Technologie ASP.NET hledá sestavení DLL nejprve v soukromém adresáři \bin aplikace a poté v systémové mezipaměti sestavení.

verb

Požadovaný atribut.

Určuje, že seznam operací může být buď čárkami oddělený seznam operací protokolu HTTP (například "GET, PUT, POST"), a nebo mapování spouštěcích skriptů (například zástupný znak hvězdička [*]).

validate

Nepovinný atribut.

V případě false nebude ASP.NET pokoušet načíst třídu, dokud nepřijde odpovídající žádost. Potenciálně to může zdržet chybu, ale zlepší to čas spouštění.

Podřízené prvky

Žádný

Nadřazené prvky

Prvek

Popis

configuration

Určuje požadovaný kořenový element nacházející se v každém konfiguračním souboru, který je používán modulem CLR (Common Language Runtime) a aplikacemi rozhraní .NET Framework.

System.web

Určuje kořenový element oddílu konfigurace technologie ASP.NET.

httpHandlers

Mapuje příchozí požadavky příslušných rozhraní IHttpHandler nebo IHttpHandlerFactory podle adresy URL a HTTP operace, které jsou zadané v žádosti.

Poznámky

Nastavení <httpHandlers> jsou zděděna podadresáři.

Direktivy <add> jsou zpracovávány v postupném pořadí seshora dolů. Pokud dva nebo více podadresáře <add> určují tutéž kombinaci akce/cesta, přepíše poslední <add> všechny ostatní.

Internetová informační služba (IIS) má svůj vlastní režim pro mapování přípon na rozhraní ISAPI. Aby se projevilo nastavení dané přípony v tomto oddílu, musí být přípona mapována ve službě IIS na ASP.NET ISAPI. Pro nestandardní přípony (něco jiného než ASPX, ASMX, ASAX atd.) je nutné nakonfigurovat službu IIS.

Výchozí konfigurace

Následující výchozí element add je konfigurován v souboru Machine.config v rozhraních .NET Framework verze 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"/>

Následující výchozí element add je konfigurován v souboru Machine.config v rozhraních .NET Framework verze 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" />

Následující výchozí element add je v rozhraní .NET Framework verze 2.0 konfigurován v kořenovém souboru Web.config.

<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" />

Příklad

Následující příklad kódu ukazuje, jak mapovat všechny požadavky protokolu HTTP pro soubory s příponou názvu souboru .New na třídu MyHandler.New a pro požadavky protokolu HTTP GET a HEAD pro soubory s příponou názvu souboru .MyNewFileExtension na třídu MyHandler.MNFEHandler. Obě třídy jsou v sestavení MyHandler, které je v souboru 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>

Informace prvku

Obslužná rutina konfiguračního oddílu

System.Web.Configuration.HttpHandlersSection

Konfigurační člen

SystemWebSectionGroup.HttpHandlers

Konfigurovatelná umístění

Machine.config

Web.config kořenové úrovně

Web.config aplikační úrovně

Soubor web.config na úrovni fyzického nebo virtuálního adresáře

Požadavky

Microsoft Internet Information Services (IIS) 5.0, 5.1 nebo 6.0

.NET Framework, verze 1.0, 1.1 nebo 2.0

Microsoft Visual Studio 2003 nebo Visual Studio 2005

Viz také

Úkoly

Postupy: Uzamknutí nastavení konfigurace technologie ASP.NET

Odkaz

Element httpHandlers (schéma nastavení ASP.NET)

Element system.web (schéma nastavení ASP.NET)

<konfigurace>element

Podelement clear elementu httpHandlers (schéma nastavení technologie ASP.NET)

Odebrat element pro httpHandlers (schéma nastavení technologie ASP.NET)

System.Configuration

System.Web.Configuration

Koncepty

Přehled konfigurace technologie ASP.NET

Ovládací prvky webového serveru technologie ASP.NET a schopnosti prohlížeče

Zabezpečení konfigurace technologie ASP.NET

Scénáře konfigurace technologie ASP.NET

Další zdroje

Konfigurační soubory technologie ASP.NET

Nastavení konfigurace ASP.NET

Obecné nastavení konfigurace (technologie ASP.NET)

Rozhraní API konfigurace technologie ASP.NET