httpHandlers-Element (ASP.NET-Einstellungsschema)
[Dieses Dokument dient lediglich Vorschauzwecken und kann in späteren Versionen geändert werden. Leere Themen sind als Platzhalter enthalten.]
Ordnet eingehende Anforderungen dem entsprechenden Handler zu, und zwar abhängig von der angegebenen URL und dem HTTP-Verb der Anforderung. Dieses Element kann auf jeder Ebene der Konfigurationshierarchie deklariert werden.
<httpHandlers>
<add... />
<remove... />
<clear/>
</httpHandlers>
Attribute und Elemente
In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.
Attribute
Keine.
Untergeordnete Elemente
Untertag |
Beschreibung |
---|---|
add |
Optionales Element. Gibt die verb/path-Zuordnung zu einem Handler an. |
clear |
Optionales Element. Entfernt alle Handlerzuordnungen, die aktuell konfiguriert oder geerbt wurden. |
remove |
Optionales Element. Entfernt eine verb/path-Zuordnung zu einem Handler. Die remove-Direktive muss genau mit der verb/path-Kombination einer vorherigen add-Direktive übereinstimmen. Platzhalterzeichen werden nicht unterstützt. |
Übergeordnete Elemente
Element |
Beschreibung |
---|---|
configuration |
Gibt das Stammelement in jeder Konfigurationsdatei an, die von der Common Language Runtime und den .NET Framework-Anwendungen verwendet wird. |
system.web |
Gibt das Stammelement für den ASP.NET-Konfigurationsabschnitt an. |
Hinweise
Die <httpHandlers>-Einstellungen werden von den Unterverzeichnissen der Anwendung geerbt.
Die add-Direktiven werden der Reihenfolge nach von oben nach unten verarbeitet. Wenn in zwei oder mehr <add>-Elementen dieselbe verb/path-Kombination angegeben wird, überschreibt das letzte <add> alle anderen.
Hinweis
Für Microsoft Internetinformationsdienste (IIS) gilt ein eigenes Modell für die Zuordnung von Erweiterungen zu ISAPIs.Damit die Zuordnung einer gegebenen Anwendungserweiterung zu deren Handler wirksam wird, muss die Erweiterung in IIS auf ASP.NET ISAPI zugeordnet sein.Für nicht standardmäßige Erweiterungen, z. B. benutzerdefinierte Erweiterungen, müssen Sie IIS entsprechend konfigurieren.
Standardkonfiguration
Das folgende httpHandlers-Standardelement wird in der Datei Machine.config von .NET Framework, Version 2.0, konfiguriert.
<httpHandlers />
Das folgende httpHandlers-Standardelement wird in der Datei Machine.config von .NET Framework, Version 1,1, konfiguriert.
Hinweis
System.Web.HttpForbiddenHandler ist ein interner Typ, der den HTTP-Fehler 403 ("Verboten: Zugriff verweigert") ausgibt, wenn versucht wird, auf eine verbotene Ressource zuzugreifen.
System.Web.StaticFileHandler ist ein weiterer interner Typ, der den Zugriff auf angegebene Dateien behandelt.Bei Zugriffsverstößen generiert er einen der folgenden Fehler: HTTP-Fehler 401 "Nicht autorisiert"; HTTP-Fehler 403 "Verboten: Zugriff verweigert" oder HTTP-Fehler 404 "Datei oder Verzeichnis wurde nicht gefunden".
<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>
Das folgende httpHandlers-Standardelement wird in der Datei Machine.config von .NET Framework, Version 1.0, konfiguriert.
<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>
Das folgende httpHandlers-Standardelement wird in der Stammdatei Web.config in .NET Framework 2.0 konfiguriert.
<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>
Beispiel
Das folgende Beispiel veranschaulicht, wie die folgenden Aufgaben ausgeführt werden:
Zuordnen aller HTTP-Anforderungen für Dateien mit der Dateinamenerweiterung .New zur MyHandler.New-Klasse.
Zuordnen der HTTP-Anforderungen GET und HEAD für Dateien mit der Dateinamenerweiterung .MyNewFileExtension zur Klasse MyHandler.MNFEHandler..
Beide Klassen befinden sich in der Assembly MyHandler in der Datei 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>
Elementinformationen
Konfigurationsabschnittshandler |
|
Konfigurationsmember |
|
Konfigurierbare Speicherorte |
Machine.config Web.config auf der Stammebene Web.config auf der Anwendungsebene Web.config auf der Ebene virtueller oder physischer Verzeichnisse |
Anforderungen |
Microsoft Internetinformationsdienste (IIS), Version 5.0, 5.1 oder 6.0 .NET Framework, Version 1.0, 1.1 oder 2.0 Microsoft Visual Studio 2003 oder Visual Studio 2005 |
Siehe auch
Aufgaben
How to: Lock ASP.NET Configuration Settings
Referenz
system.web-Element (ASP.NET-Einstellungsschema)
add-Element für httpHandlers (ASP.NET-Einstellungsschema)
clear-Element für httpHandlers (ASP.NET-Einstellungsschema)
remove-Element für httpHandlers (ASP.NET-Einstellungsschema)
Konzepte
ASP.NET Configuration Overview
ASP.NET Server Controls and Browser Capabilities
Weitere Ressourcen
ASP.NET-Konfigurationseinstellungen