Udostępnij za pośrednictwem


httpHandlers elementu (ASP.Schemat ustawień netto)

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

Mapuje przychodzące żądania do obsługi odpowiedniego zgodnie z adresu URL i zlecenia HTTP, który jest określony w żądaniu. Ten element może być deklarowany na dowolnym poziomie w hierarchii konfiguracji.

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

Atrybuty i elementy

W poniższych sekcjach opisano atrybuty i elementy podrzędne elementy nadrzędne.

Atrybuty

Brak.

Elementy podrzędne

Tag podrzędny

Opis

add

Opcjonalnego elementu.

Określa mapowanie zlecenie/ścieżka do programu obsługi.

clear

Opcjonalnego elementu.

Usuwa wszystkie mapowania programu obsługi, które są aktualnie skonfigurowane lub dziedziczone.

remove

Opcjonalnego elementu.

Usuwa mapowanie zlecenie/ścieżka do programu obsługi. remove Dyrektywy musi dokładnie odpowiadać kombinację zlecenie/ścieżka poprzedniej add dyrektywy. Symbole wieloznaczne nie są obsługiwane.

Elementy nadrzędne

Element

Opis

configuration

Określa element główny w każdym pliku konfiguracyjnym, który jest używany przez aparatu plików wykonywalnych języka wspólnego oraz.NET Framework aplikacji.

system.web

Określa element główny dla aplikacji ASP.Sekcja konfiguracji netto.

Uwagi

The <httpHandlers> ustawienia są dziedziczone przez podkatalogi aplikacji.

The <add> dyrektyw są przetwarzane w kolejności góra dół "," sekwencyjnych. Jeśli dwa lub więcej <add> elementy określić tę samą kombinację zlecenie/ścieżka, ostatni <add> zastępuje wszystkie pozostałe.

Uwaga

Microsoft Internet Information Services (IIS) ma własny model dla mapowania rozszerzeń ISAPI.Mapowania między rozszerzeniem danej aplikacji i jej obsługi zaczęła obowiązywać, rozszerzenie musi być mapowana w usługach IIS, ASP.NET ISAPI.Rozszerzenia niestandardowe, takie jak rozszerzenia niestandardowe należy odpowiednio skonfigurować usługi IIS.

Domyślna konfiguracja

Następujące domyślne httpHandlers element jest skonfigurowany w pliku Machine.config w.NET Framework w wersji 2.0.

<httpHandlers />

Następujące domyślne httpHandlers element jest skonfigurowany w pliku Machine.config w.NET Framework w wersji 1.1.

Uwaga

System.Web.HttpForbiddenHandlerjest wewnętrzny typ, który wystawia błąd HTTP 403 "dostęp zabroniony: odmowa dostępu" gdy podejmowana jest próba uzyskania dostępu do zasobu forbidden.

System.Web.StaticFileHandlerjest innego typu wewnętrznego, która obsługuje dostęp do określonych plików.W przypadku wystąpienia problemów dostępu generuje jedną z następujących błędów: błąd HTTP 401 "Unauthorized"; HTTP 403 o błędzie "dostęp zabroniony: odmowa dostępu"; lub błąd HTTP 404 "Pliku lub katalogu nie znaleziono".

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

Następujące domyślne httpHandlers element jest skonfigurowany w pliku Machine.config w.NET Framework w wersji 1.0.

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

Następujące domyślne httpHandlers element jest skonfigurowany w pliku Web.config katalogu głównego w.NET Framework 2.0.

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

Przykład

Poniższy przykład ilustruje sposób wykonywania następujących czynności:

  • Mapowanie wszystkich żądań HTTP dotyczących plików z rozszerzeniem nazwy pliku .New do klasyMyHandler.New

  • Mapę HTTP GET i HEAD rozszerzenia nazwy żądania plików z pliku .MyNewFileExtension do klasyMyHandler.MNFEHandler.

Obie klasy znajdują się w zestawie MyHandler w pliku jest 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>

Informacje o elementach

Program obsługi sekcji konfiguracji

System.Web.Configuration.HttpHandlersSection

Członkowskie konfiguracji

SystemWebSectionGroup.HttpHandlers

Lokalizacje konfigurowalne

Machine.config

Web.config na poziomie katalogu głównego

Poziom aplikacji Web.config

Directory–level wirtualnego lub fizycznego Web.config

Wymagania

Microsoft Internet Information Services (IIS) w wersji 5.0, 5.1 lub 6.0

.NET Framework w wersji 1.0, 1.1 lub 2.0

Microsoft Visual Studio 2003 lub Visual Studio 2005

Zobacz też

Zadania

How to: Lock ASP.NET Configuration Settings

Informacje

System.Web elementu (ASP.Schemat ustawień netto)

<configuration> Element

Dodawanie elementu do httpHandlers (ASP.Schemat ustawień netto)

Usuń zaznaczenie elementu dla httpHandlers (ASP.Schemat ustawień netto)

Usuń Element dla httpHandlers (ASP.Schemat ustawień netto)

System.Configuration

System.Web.Configuration

Koncepcje

ASP.NET Configuration Overview

ASP.NET Server Controls and Browser Capabilities

Securing Configuration

Configuration Inheritance

Inne zasoby

ASP.NET Configuration Files

ASP.NET ustawienia konfiguracji

Ogólne ustawienia konfiguracji (ASP.(NET)

ASP.NET Configuration API