Sdílet prostřednictvím


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

Mapuje příchozí požadavky příslušné obslužné rutiny podle adresy URL a HTTP operace, které jsou zadané v žádosti. Tento element lze deklarovat na libovolné úrovni v hierarchii konfigurace.

<httpHandlers>
   <add... />
   <remove... />
   <clear/>
</httpHandlers>

Atributy a prvky

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

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

Žádný

Podřízené prvky

Podznačky

Popis

add

Volitelný prvek.

Určuje mapování operace/cesty na obslužnou rutinu.

clear

Volitelný element.

Odebere všechna mapování obslužných rutin, která jsou aktuálně nakonfigurována nebo zděděna.

remove

Volitelný element.

Odebere mapování operace/cesty na obslužnou rutinu. Direktiva remove se musí přesně shodovat s kombinací operace/cesta předchozí direktivy add. Zástupné znaky nejsou podporovány.

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.

Poznámky

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

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

PoznámkaPoznámka

Internetová informační služba (služba IIS) má svůj vlastní model pro mapování přípon na rozhraní ISAPI.Aby bylo mapování mezi danou příponou aplikace a její obslužnou rutinou funkční, musí být přípona mapována ve službě IIS na rozhraní ISAPI technologie ASP.NET.Pro nestandardní přípony, například pro vlastní příponu, musíte službu IIS odpovídajícím způsobem nakonfigurovat.

Výchozí konfigurace

Následující výchozí element httpHandlers je konfigurován v souboru Machine.config v rozhraních .NET Framework verze 2.0.

<httpHandlers />

Následující výchozí element httpHandlers je konfigurován v souboru Machine.config v rozhraních .NET Framework verze 1.1.

PoznámkaPoznámka

System.Web.HttpForbiddenHandler je vnitřní typ, který vydává chybu HTTP 403 "Zakázáno: Přístup byl odepřen", pokud je proveden pokus o přístup k zakázanému prostředek.

System.Web.StaticFileHandler je jiný vnitřní typ, který zpracovává přístup k zadaným souborům.V případě problémů s přístupem generuje jednu z následujících chyb: Chyba protokolu HTTP 401 "Neautorizováno"; Chyba protokolu HTTP 403 "Zakázáno: Přístup byl odepřen", nebo Chyba protokolu HTTP 404 "Soubor nebo adresář nebyl nalezen".

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

Následující výchozí element httpHandlers je v rozhraní .NET Framework verze 1.0 konfigurován v souboru Machine.config.

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

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

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

Příklad

Následující příklad demonstruje jak udělat tyto kroky:

  • Namapovat všechny požadavky protokolu HTTP pro soubory s příponou názvu souboru .New na třídu MyHandler.New.

  • Namapovat požadavky GET a HEAD pro soubory s příponou .MyNewFileExtension na třídu MyHandler.MNFEHandler.

Obě třídy jsou v sestavení MyHandler, které se nachází 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 system.web (schéma nastavení ASP.NET)

<konfigurace>element

Podelement add elementu httpHandlers (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)

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