Udostępnij za pośrednictwem


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

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

Dodaje program obsługi do aplikacji. Program obsługi to IHttpHandler lub IHttpHandlerFactory interfejsu, który przetwarza żądania dotyczące określonych adresów URL.

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

Atrybuty i elementy

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

Atrybuty

Atrybut

Opis

path

Wymagany atrybut.

Określa, że atrybut path może zawierać pojedynczej ścieżki URL lub ciąg proste symboli wieloznacznych (na przykład *.aspx).

type

Wymagany atrybut.

Określa kombinację klasa/zestaw oddzielone przecinkami. ASP.NET przeszukuje zestaw biblioteki DLL, najpierw w prywatnym katalogu \bin aplikacji, a następnie w pamięci podręcznej zestawów systemowych.

verb

Wymagany atrybut.

Określa, że lista zleceń może być albo rozdzielana przecinkami lista zleceń HTTP (na przykład, "GET, PUT, POST") lub mapowania skryptu startowego (na przykład znak wieloznaczny gwiazdka [*]).

validate

Atrybut opcjonalny.

If false, ASP.NET nie podejmie próbę załadowania klasy dopiero po nadejściu zgodnego żądania. Potencjalnie to może opóźniać błąd, ale to skrócić czas rozruchu.

Elementy podrzędne

Brak.

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.

httpHandlers

Mapuje przychodzące żądania do właściwego IHttpHandler lub IHttpHandlerFactory interfejsu zgodnie z adresu URL i zlecenia HTTP, który jest określony w żądaniu.

Uwagi

<httpHandlers> Ustawienia są dziedziczone przez subdirectives.

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

Microsoft Internet Information Services (IIS) ma swój własny tryb dla mapowania rozszerzeń ISAPI. Ustawienia dla danego rozszerzenia w tej sekcji zostały wprowadzone rozszerzenie musi być mapowana w usługach IIS, ASP.NET ISAPI. W przypadku rozszerzeń niestandardowych (coś innego niż .aspx, .asmx, .asax itd.) należy skonfigurować usługi IIS.

Domyślna konfiguracja

Następujące domyślne add element jest skonfigurowany w pliku Machine.config w.NET Framework w wersji 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"/>

Następujące domyślne add element jest skonfigurowany w pliku Machine.config w.NET Framework w wersji 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" />

Następujące domyślne add element jest skonfigurowany w pliku Web.config katalogu głównego w.NET Framework w wersji 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" />

Przykład

Poniższy przykład kodu demonstruje, jak mapowanie wszystkich żądań HTTP dotyczących plików z rozszerzeniem nazwy pliku .New do klasy MyHandler.New i HTTP GET i HEAD rozszerzenia nazwy żądania plików z pliku .MyNewFileExtension do klasy MyHandler.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

httpHandlers elementu (ASP.Schemat ustawień netto)

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

<configuration> Element

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