httpHandlers, élément (Schéma des paramètres ASP.NET)
Mise à jour : novembre 2007
Mappe les demandes entrantes au gestionnaire approprié, en fonction de l'URL et du verbe HTTP spécifiés dans la demande. Cet élément peut être déclaré à tout niveau dans la hiérarchie de configuration.
<configuration>, élément
system.web, élément (Schéma des paramètres ASP.NET)
httpHandlers, élément (Schéma des paramètres ASP.NET)
<httpHandlers>
<add... />
<remove... />
<clear/>
</httpHandlers>
Attributs et éléments
Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.
Attributs
Aucun.
Éléments enfants
Sous-balise |
Description |
---|---|
add |
Élément facultatif. Spécifie le mappage verb/path à un gestionnaire. |
clear |
Élément facultatif. Supprime tous les mappages de gestionnaires actuellement configurés ou hérités. |
remove |
Élément facultatif. Supprime un mappage verb/path à un gestionnaire. La directive remove doit correspondre exactement au mappage verb/path d'une directive add précédente. Les caractères génériques ne sont pas pris en charge. |
Éléments parents
Élément |
Description |
---|---|
configuration |
Spécifie l'élément racine dans chaque fichier de configuration utilisé par le Common Language Runtime et les applications .NET Framework. |
system.web |
Spécifie l'élément racine de la section de configuration ASP.NET. |
Notes
Les paramètres <httpHandlers> sont hérités par les sous-répertoires de l'application.
Les directives <add> sont traitées de façon séquentielle, par ordre décroissant. Si plusieurs éléments <add> spécifient la même combinaison verb/path, la dernière balise <add> se substitue aux autres.
Remarque : |
---|
Microsoft Internet Information Services (IIS) utilise un modèle qui lui est propre pour mapper des extensions à des applications ISAPI. Pour que le mappage entre une extension d'application donnée et son gestionnaire soit pris en compte, l'extension doit être mappée dans IIS à l'ISAPI ASP.NET. Dans le cas d'une extension non standard, telle qu'une extension personnalisée, vous devez configurer IIS en conséquence. |
Configuration par défaut
L'élément httpHandlers par défaut est configuré dans le fichier Machine.config de la version 2.0 du .NET Framework.
<httpHandlers />
L'élément httpHandlers par défaut est configuré dans le fichier Machine.config de la version 1.1 du .NET Framework.
Remarque : |
---|
System.Web.HttpForbiddenHandler est un type interne qui publie l'erreur HTTP 403 « Accès refusé/interdit » lorsqu'une tentative d'accès à une ressource défendue est effectuée. System.Web.StaticFileHandler est un autre type interne qui gère l'accès aux fichiers spécifiés. En cas de problèmes d'accès, il génère l'une des erreurs suivantes : erreur HTTP 401 « Non autorisé », erreur HTTP 403 « Accès refusé/interdit » ou erreur HTTP 404 « Fichier ou répertoire introuvable ». |
<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>
L'élément httpHandlers par défaut est configuré dans le fichier Machine.config de la version 1.0 du .NET Framework.
<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>
L'élément httpHandlers par défaut suivant est configuré dans le fichier Web.config racine dans le .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>
Exemple
L'exemple suivant montre comment effectuer ce qui suit :
Mapper toutes les demandes HTTP relatives aux fichiers avec l'extension .New à la classe MyHandler.New
Mapper les demandes HTTP GET et HEAD concernant les fichiers avec l'extension .MyNewFileExtension à la classe MyHandler.MNFEHandler.
Les deux classes figurent dans l'assembly MyHandler situé dans le fichier 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>
Informations sur les éléments
Gestionnaire de section de configuration |
|
Membre de configuration |
|
Emplacements configurables |
Machine.config Web.config racine Web.config au niveau de l'application Web.config de niveau répertoire virtuel ou physique |
Configuration requise |
Microsoft Internet Information Services (IIS) version 5.0, 5.1 ou 6.0 .NET Framework version 1.0, 1.1 ou 2.0 Microsoft Visual Studio 2003 ou Visual Studio 2005 |
Voir aussi
Tâches
Comment : verrouiller des paramètres de configuration ASP.NET
Concepts
Vue d'ensemble de la configuration ASP.NET
Fonctionnalités des contrôles serveur Web ASP.NET et du navigateur
Sécurisation de la configuration ASP.NET
Scénarios de configuration ASP.NET
Référence
system.web, élément (Schéma des paramètres ASP.NET)
add, élément de httpHandlers (Schéma des paramètres ASP.NET)
clear, élément de httpHandlers (Schéma des paramètres ASP.NET)
remove, élément de httpHandlers (Schéma des paramètres ASP.NET)
Autres ressources
Fichiers de configuration ASP.NET
Paramètres de configuration ASP.NET