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 |
|
Konfigurační člen |
|
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)
Podelement clear elementu httpHandlers (schéma nastavení technologie ASP.NET)
Odebrat element pro httpHandlers (schéma nastavení technologie ASP.NET)
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