HttpApplication Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Définit les méthodes, les propriétés et les événements communs à tous les objets d’application dans une application ASP.NET. Cette classe est la classe de base pour les applications définies par l’utilisateur dans le fichier Global.asax.
public ref class HttpApplication : IDisposable, System::ComponentModel::IComponent, System::Web::IHttpAsyncHandler
public class HttpApplication : IDisposable, System.ComponentModel.IComponent, System.Web.IHttpAsyncHandler
type HttpApplication = class
interface IHttpAsyncHandler
interface IHttpHandler
interface IComponent
interface IDisposable
type HttpApplication = class
interface IComponent
interface IDisposable
interface IHttpAsyncHandler
interface IHttpHandler
Public Class HttpApplication
Implements IComponent, IDisposable, IHttpAsyncHandler
- Héritage
-
HttpApplication
- Implémente
Exemples
Les deux exemples suivants montrent comment utiliser la HttpApplication classe et ses événements. Le premier exemple montre comment créer un module HTTP personnalisé et y connecter un événement. Le deuxième exemple montre comment modifier le fichier Web.config.
L’exemple suivant montre comment créer un module HTTP personnalisé et connecter l’événement AcquireRequestState au module HTTP. Les modules HTTP interceptent chaque requête vers les ressources d’application web, ce qui vous permet de filtrer les demandes des clients. Tout module HTTP qui s’abonne à un HttpApplication événement doit implémenter l’interface IHttpModule .
using System;
using System.Web;
namespace Samples.AspNet.CS
{
public class CustomHTTPModule : IHttpModule
{
public CustomHTTPModule()
{
// Class constructor.
}
// Classes that inherit IHttpModule
// must implement the Init and Dispose methods.
public void Init(HttpApplication app)
{
app.AcquireRequestState += new EventHandler(app_AcquireRequestState);
app.PostAcquireRequestState += new EventHandler(app_PostAcquireRequestState);
}
public void Dispose()
{
// Add code to clean up the
// instance variables of a module.
}
// Define a custom AcquireRequestState event handler.
public void app_AcquireRequestState(object o, EventArgs ea)
{
HttpApplication httpApp = (HttpApplication)o;
HttpContext ctx = HttpContext.Current;
ctx.Response.Write(" Executing AcquireRequestState ");
}
// Define a custom PostAcquireRequestState event handler.
public void app_PostAcquireRequestState(object o, EventArgs ea)
{
HttpApplication httpApp = (HttpApplication)o;
HttpContext ctx = HttpContext.Current;
ctx.Response.Write(" Executing PostAcquireRequestState ");
}
}
}
Imports System.Web
Namespace Samples.AspNet.VB
Public Class CustomHTTPModule
Implements IHttpModule
Public Sub New()
' Class constructor.
End Sub
' Classes that inherit IHttpModule
' must implement the Init and Dispose methods.
Public Sub Init(ByVal app As HttpApplication) Implements IHttpModule.Init
AddHandler app.AcquireRequestState, AddressOf app_AcquireRequestState
AddHandler app.PostAcquireRequestState, AddressOf app_PostAcquireRequestState
End Sub
Public Sub Dispose() Implements IHttpModule.Dispose
' Add code to clean up the
' instance variables of a module.
End Sub
' Define a custom AcquireRequestState event handler.
Public Sub app_AcquireRequestState(ByVal o As Object, ByVal ea As EventArgs)
Dim httpApp As HttpApplication = CType(o, HttpApplication)
Dim ctx As HttpContext = HttpContext.Current
ctx.Response.Write(" Executing AcquireRequestState ")
End Sub
' Define a custom PostAcquireRequestState event handler.
Public Sub app_PostAcquireRequestState(ByVal o As Object, ByVal ea As EventArgs)
Dim httpApp As HttpApplication = CType(o, HttpApplication)
Dim ctx As HttpContext = HttpContext.Current
ctx.Response.Write(" Executing PostAcquireRequestState ")
End Sub
End Class
End Namespace
Avant qu’un événement dans un module HTTP personnalisé ne se produise, vous devez modifier les paramètres de configuration dans le fichier Web.config pour informer ASP.NET du module HTTP. L’exemple suivant montre le paramètre de configuration approprié dans la httpModules
section du fichier Web.config. Le paramètre suivant s’applique au mode CLASSIQUE IIS 7.0 et aux versions antérieures d’IIS.
<configuration>
<system.web>
<httpModules>
<add type="Samples.AspNet.CS.CustomHTTPModule"
name="CustomHttpModule" />
</httpModules>
</system.web>
</configuration>
<configuration>
<system.web>
<httpModules>
<add type="Samples.AspNet.VB.CustomHTTPModule"
name="CustomHttpModule" />
</httpModules>
</system.web>
</configuration>
Le paramètre suivant s’applique au mode intégré IIS 7.0.
<configuration>
<system.webServer>
<modules>
<add type="Samples.AspNet.CS.CustomHTTPModule"
name="CustomHttpModule" />
</modules>
</system.webServer>
</configuration>
<configuration>
<system.webServer>
<modules>
<add type="Samples.AspNet.VB.CustomHTTPModule"
name="CustomHttpModule" />
<modules>
</system.webServer>
</configuration>
Remarques
Les instances de la HttpApplication classe sont créées dans l’infrastructure ASP.NET, pas directement par l’utilisateur. Un instance de la HttpApplication classe est utilisé pour traiter de nombreuses demandes au cours de sa durée de vie. Toutefois, il ne peut traiter qu’une seule requête à la fois. Ainsi, les variables membres peuvent être utilisées pour stocker des données par requête.
Une application déclenche des événements qui peuvent être gérés par des modules personnalisés qui implémentent l’interface ou par le IHttpModule code de gestionnaire d’événements défini dans le fichier Global.asax. Les modules personnalisés qui implémentent l’interface IHttpModule peuvent être placés dans le dossier App_Code ou dans une DLL dans le dossier Bin.
HttpApplication est introduit dans le .NET Framework version 3.5. Pour plus d’informations, consultez Versions et dépendances.
Notes
Lors de l’exécution d’IIS 7.0 en mode intégré, les modules personnalisés du dossier App_Code ou du dossier Bin s’appliquent à toutes les requêtes dans le pipeline de requête. Le code du gestionnaire d’événements dans le fichier Global.asax s’applique uniquement aux requêtes mappées à un gestionnaire de ASP.NET.
Les événements d’application sont déclenchés dans l’ordre suivant :
-
Après l’événement PostResolveRequestCache et avant l’événement PostMapRequestHandler , un gestionnaire d’événements (qui est une page qui correspond à l’URL de la requête) est créé. Lorsqu’un serveur exécute IIS 7.0 en mode intégré et au moins le .NET Framework version 3.0, l’événement MapRequestHandler est déclenché. Lorsqu’un serveur exécute IIS 7.0 en mode Classique ou une version antérieure d’IIS, cet événement ne peut pas être géré.
-
Le gestionnaire d’événements est exécuté.
-
Une fois l’événement PostReleaseRequestState déclenché, tous les filtres de réponse existants filtrent la sortie.
-
Cet événement est pris en charge en mode intégré IIS 7.0 et au moins dans .NET Framework 3.0
-
Cet événement est pris en charge en mode intégré IIS 7.0 et au moins le .NET Framework 3.0
Constructeurs
HttpApplication() |
Initialise une nouvelle instance de la classe HttpApplication. |
Propriétés
Application |
Obtient l'état actuel d'une application. |
Context |
Obtient des informations HTTP sur la requête actuelle. |
Events |
Obtient la liste des délégués de gestionnaires d'événements qui traitent tous les événements de l'application. |
Modules |
Obtient la collection de modules de l'application actuelle. |
Request |
Obtient l'objet de requête intrinsèque de la requête actuelle. |
Response |
Obtient l'objet de réponse intrinsèque de la requête actuelle. |
Server |
Obtient l'objet serveur intrinsèque de la requête actuelle. |
Session |
Obtient l'objet session intrinsèque qui fournit un accès aux données de session. |
Site |
Obtient ou définit une interface de site pour une implémentation IComponent. |
User |
Obtient l'objet utilisateur intrinsèque de la requête actuelle. |
Méthodes
AddOnAcquireRequestStateAsync(BeginEventHandler, EndEventHandler) |
Ajoute l'événement AcquireRequestState spécifié à la collection des gestionnaires d'événements AcquireRequestState asynchrones de la requête actuelle. |
AddOnAcquireRequestStateAsync(BeginEventHandler, EndEventHandler, Object) |
Ajoute l'événement AcquireRequestState spécifié à la collection des gestionnaires d'événements AcquireRequestState asynchrones de la requête actuelle. |
AddOnAuthenticateRequestAsync(BeginEventHandler, EndEventHandler) |
Ajoute l'événement AuthenticateRequest spécifié à la collection des gestionnaires d'événements AuthenticateRequest asynchrones de la requête actuelle. |
AddOnAuthenticateRequestAsync(BeginEventHandler, EndEventHandler, Object) |
Ajoute l'événement AuthenticateRequest spécifié à la collection des gestionnaires d'événements AuthenticateRequest asynchrones de la requête actuelle. |
AddOnAuthorizeRequestAsync(BeginEventHandler, EndEventHandler) |
Ajoute l'événement AuthorizeRequest spécifié à la collection des gestionnaires d'événements AuthorizeRequest asynchrones de la requête actuelle. |
AddOnAuthorizeRequestAsync(BeginEventHandler, EndEventHandler, Object) |
Ajoute l'événement AuthorizeRequest spécifié à la collection des gestionnaires d'événements AuthorizeRequest asynchrones de la requête actuelle. |
AddOnBeginRequestAsync(BeginEventHandler, EndEventHandler) |
Ajoute l'événement BeginRequest spécifié à la collection des gestionnaires d'événements BeginRequest asynchrones de la requête actuelle. |
AddOnBeginRequestAsync(BeginEventHandler, EndEventHandler, Object) |
Ajoute l'événement BeginRequest spécifié à la collection des gestionnaires d'événements BeginRequest asynchrones de la requête actuelle. |
AddOnEndRequestAsync(BeginEventHandler, EndEventHandler) |
Ajoute l'événement EndRequest spécifié à la collection des gestionnaires d'événements EndRequest asynchrones de la requête actuelle. |
AddOnEndRequestAsync(BeginEventHandler, EndEventHandler, Object) |
Ajoute l'événement EndRequest spécifié à la collection des gestionnaires d'événements EndRequest asynchrones de la requête actuelle. |
AddOnLogRequestAsync(BeginEventHandler, EndEventHandler) |
Ajoute l'événement LogRequest spécifié à la collection des gestionnaires d'événements LogRequest asynchrones de la requête actuelle. |
AddOnLogRequestAsync(BeginEventHandler, EndEventHandler, Object) |
Ajoute l'événement LogRequest spécifié à la collection des gestionnaires d'événements LogRequest asynchrones de la requête actuelle. |
AddOnMapRequestHandlerAsync(BeginEventHandler, EndEventHandler) |
Ajoute l'événement MapRequestHandler spécifié à la collection des gestionnaires d'événements MapRequestHandler asynchrones de la requête actuelle. |
AddOnMapRequestHandlerAsync(BeginEventHandler, EndEventHandler, Object) |
Ajoute l'événement MapRequestHandler spécifié à la collection des gestionnaires d'événements MapRequestHandler asynchrones de la requête actuelle. |
AddOnPostAcquireRequestStateAsync(BeginEventHandler, EndEventHandler) |
Ajoute l'événement PostAcquireRequestState spécifié à la collection des gestionnaires d'événements PostAcquireRequestState asynchrones de la requête actuelle. |
AddOnPostAcquireRequestStateAsync(BeginEventHandler, EndEventHandler, Object) |
Ajoute l'événement PostAcquireRequestState spécifié à la collection des gestionnaires d'événements PostAcquireRequestState asynchrones de la requête actuelle. |
AddOnPostAuthenticateRequestAsync(BeginEventHandler, EndEventHandler) |
Ajoute l'événement PostAuthenticateRequest spécifié à la collection des gestionnaires d'événements PostAuthenticateRequest asynchrones de la requête actuelle. |
AddOnPostAuthenticateRequestAsync(BeginEventHandler, EndEventHandler, Object) |
Ajoute l'événement PostAuthorizeRequest spécifié à la collection des gestionnaires d'événements PostAuthorizeRequest asynchrones de la requête actuelle. |
AddOnPostAuthorizeRequestAsync(BeginEventHandler, EndEventHandler) |
Ajoute l'événement PostAuthorizeRequest spécifié à la collection des gestionnaires d'événements PostAuthorizeRequest asynchrones de la requête actuelle. |
AddOnPostAuthorizeRequestAsync(BeginEventHandler, EndEventHandler, Object) |
Ajoute le PostAuthorizeRequest spécifié à la collection des gestionnaires d'événements PostAuthorizeRequest asynchrones de la requête actuelle. |
AddOnPostLogRequestAsync(BeginEventHandler, EndEventHandler) |
Ajoute l'événement PostLogRequest spécifié à la collection des gestionnaires d'événements PostLogRequest asynchrones de la requête actuelle. |
AddOnPostLogRequestAsync(BeginEventHandler, EndEventHandler, Object) |
Ajoute l'événement PostLogRequest spécifié à la collection des gestionnaires d'événements PostLogRequest asynchrones de la requête actuelle. |
AddOnPostMapRequestHandlerAsync(BeginEventHandler, EndEventHandler) |
Ajoute l'événement PostMapRequestHandler spécifié à la collection des gestionnaires d'événements PostMapRequestHandler asynchrones de la requête actuelle. |
AddOnPostMapRequestHandlerAsync(BeginEventHandler, EndEventHandler, Object) |
Ajoute l'événement PostMapRequestHandler spécifié à la collection des gestionnaires d'événements PostMapRequestHandler asynchrones de la requête actuelle. |
AddOnPostReleaseRequestStateAsync(BeginEventHandler, EndEventHandler) |
Ajoute l'événement PostReleaseRequestState spécifié à la collection des gestionnaires d'événements PostReleaseRequestState asynchrones de la requête actuelle. |
AddOnPostReleaseRequestStateAsync(BeginEventHandler, EndEventHandler, Object) |
Ajoute l'événement PostReleaseRequestState spécifié à la collection des gestionnaires d'événements PostReleaseRequestState asynchrones de la requête actuelle. |
AddOnPostRequestHandlerExecuteAsync(BeginEventHandler, EndEventHandler) |
Ajoute l'événement PostRequestHandlerExecute spécifié à la collection des gestionnaires d'événements PostRequestHandlerExecute asynchrones de la requête actuelle. |
AddOnPostRequestHandlerExecuteAsync(BeginEventHandler, EndEventHandler, Object) |
Ajoute l'événement PostRequestHandlerExecute spécifié à la collection des gestionnaires d'événements PostRequestHandlerExecute asynchrones de la requête actuelle. |
AddOnPostResolveRequestCacheAsync(BeginEventHandler, EndEventHandler) |
Ajoute l'événement PostResolveRequestCache spécifié à la collection des gestionnaires d'événements PostResolveRequestCache asynchrones de la requête actuelle. |
AddOnPostResolveRequestCacheAsync(BeginEventHandler, EndEventHandler, Object) |
Ajoute l'événement PostResolveRequestCache spécifié à la collection des gestionnaires d'événements PostResolveRequestCache asynchrones de la requête actuelle. |
AddOnPostUpdateRequestCacheAsync(BeginEventHandler, EndEventHandler) |
Ajoute l'événement PostUpdateRequestCache spécifié à la collection des gestionnaires d'événements PostUpdateRequestCache asynchrones de la requête actuelle. |
AddOnPostUpdateRequestCacheAsync(BeginEventHandler, EndEventHandler, Object) |
Ajoute l'événement PostUpdateRequestCache spécifié à la collection des gestionnaires d'événements PostUpdateRequestCache asynchrones de la requête actuelle. |
AddOnPreRequestHandlerExecuteAsync(BeginEventHandler, EndEventHandler) |
Ajoute l'événement PreRequestHandlerExecute spécifié à la collection des gestionnaires d'événements PreRequestHandlerExecute asynchrones de la requête actuelle. |
AddOnPreRequestHandlerExecuteAsync(BeginEventHandler, EndEventHandler, Object) |
Ajoute l'événement PreRequestHandlerExecute spécifié à la collection des gestionnaires d'événements PreRequestHandlerExecute asynchrones de la requête actuelle. |
AddOnReleaseRequestStateAsync(BeginEventHandler, EndEventHandler) |
Ajoute l'événement ReleaseRequestState spécifié à la collection des gestionnaires d'événements ReleaseRequestState asynchrones de la requête actuelle. |
AddOnReleaseRequestStateAsync(BeginEventHandler, EndEventHandler, Object) |
Ajoute l'événement ReleaseRequestState spécifié à la collection des gestionnaires d'événements ReleaseRequestState asynchrones de la requête actuelle. |
AddOnResolveRequestCacheAsync(BeginEventHandler, EndEventHandler) |
Ajoute le gestionnaire d'événements ResolveRequestCache spécifié à la collection des gestionnaires d'événements ResolveRequestCache asynchrones de la requête actuelle. |
AddOnResolveRequestCacheAsync(BeginEventHandler, EndEventHandler, Object) |
Ajoute le gestionnaire d'événements ResolveRequestCache spécifié à la collection des gestionnaires d'événements ResolveRequestCache asynchrones de la requête actuelle. |
AddOnUpdateRequestCacheAsync(BeginEventHandler, EndEventHandler) |
Ajoute l'événement UpdateRequestCache spécifié à la collection des gestionnaires d'événements UpdateRequestCache asynchrones de la requête actuelle. |
AddOnUpdateRequestCacheAsync(BeginEventHandler, EndEventHandler, Object) |
Ajoute l'événement UpdateRequestCache spécifié à la collection des gestionnaires d'événements UpdateRequestCache asynchrones de la requête actuelle. |
CompleteRequest() |
Fait que ASP.NET ignore tous les événements et le filtrage de la chaîne d'exécution du pipeline HTTP et exécute directement l'événement EndRequest. |
Dispose() |
Supprime l'instance de HttpApplication. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetOutputCacheProviderName(HttpContext) |
Obtient le nom du fournisseur de caches de sortie par défaut configuré pour un site Web. |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
GetVaryByCustomString(HttpContext, String) |
Fournit une implémentation à l'échelle de l'application de la propriété VaryByCustom. |
Init() |
Exécute un code d'initialisation personnalisé lorsque tous les modules du gestionnaire d'événements ont été ajoutés. |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
OnExecuteRequestStep(Action<HttpContextBase,Action>) |
Spécifie un rappel à effectuer quand une étape d’exécution de requête est exécutée. |
RegisterModule(Type) |
Inscrit un module d'application. |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Événements
AcquireRequestState |
Se produit lorsque ASP.NET acquiert l'état actuel (par exemple, l'état de session) associé à la requête actuelle. |
AuthenticateRequest |
Se produit lorsqu'un module de sécurité a établi l'identité de l'utilisateur. |
AuthorizeRequest |
Se produit lorsqu'un module de sécurité a vérifié les autorisations de l'utilisateur. |
BeginRequest |
Se produit en tant que premier événement dans la chaîne d'exécution du pipeline HTTP lorsque ASP.NET répond à une requête. |
Disposed |
Se produit lorsque l'application est supprimée. |
EndRequest |
Se produit en tant que dernier événement de la chaîne d'exécution du pipeline HTTP lorsque ASP.NET répond à une requête. |
Error |
Se produit lorsqu'une exception non gérée est levée. |
LogRequest |
Se produit juste avant qu'ASP.NET exécute tout enregistrement pour la requête actuelle. |
MapRequestHandler |
Se produit lorsque le gestionnaire est sélectionné pour répondre à la requête. |
PostAcquireRequestState |
Se produit lorsque l'état de la requête (par exemple, l'état de session) associé à la requête actuelle a été obtenu. |
PostAuthenticateRequest |
Se produit lorsqu'un module de sécurité a établi l'identité de l'utilisateur. |
PostAuthorizeRequest |
Se produit lorsque l'utilisateur pour la requête actuelle a été autorisé. |
PostLogRequest |
Se produit lorsque ASP.NET a complété le traitement de tous les gestionnaires d'événements pour l'événement LogRequest. |
PostMapRequestHandler |
Se produit lorsque ASP.NET a mappé la requête actuelle sur le gestionnaire d'événements approprié. |
PostReleaseRequestState |
Se produit lorsque ASP.NET a terminé l'exécution de tous les gestionnaires d'événements de requête et lorsque les données d'état de requête ont été stockées. |
PostRequestHandlerExecute |
Se produit lorsque le gestionnaire d'événements ASP.NET (par exemple, une page ou un service Web XML) termine son exécution. |
PostResolveRequestCache |
Se produit lorsque ASP.NET ignore l'exécution du gestionnaire d'événements actuel et autorise un module de mise en cache à répondre à une requête depuis le cache. |
PostUpdateRequestCache |
Se produit lorsque ASP.NET a terminé la mise à jour des modules de mise en cache et le stockage des réponses utilisées pour répondre à des requêtes ultérieures depuis le cache. |
PreRequestHandlerExecute |
Se produit juste avant que ASP.NET ne commence à exécuter un gestionnaire d'événements (par exemple, une page ou un service Web XML). |
PreSendRequestContent |
Se produit juste avant que ASP.NET n'envoie du contenu au client. |
PreSendRequestHeaders |
Se produit juste avant que ASP.NET n'envoie des en-têtes HTTP au client. |
ReleaseRequestState |
Se produit après que ASP.NET a terminé d'exécuter tous les gestionnaires d'événements de requête. Cet événement entraîne un enregistrement des données sur l'état actuel par les modules d'état. |
RequestCompleted |
Se produit lorsque les objets managés associés à la demande ont été libérés. |
ResolveRequestCache |
Se produit lorsque ASP.NET termine un événement d'autorisation pour permettre aux modules de mise en cache de répondre à des requêtes à partir du cache, ignorant l'exécution du gestionnaire d'événements (par exemple, une page ou un service Web XML). |
UpdateRequestCache |
Se produit lorsque ASP.NET finit d'exécuter un gestionnaire d'événements pour permettre aux modules de mise en cache de stocker des réponses qui seront utilisées pour répondre à des requêtes ultérieures à partir du cache. |
Implémentations d’interfaces explicites
IHttpAsyncHandler.BeginProcessRequest(HttpContext, AsyncCallback, Object) |
Lance un appel asynchrone au gestionnaire d'événements HTTP. |
IHttpAsyncHandler.EndProcessRequest(IAsyncResult) |
Fournit une méthode |
IHttpHandler.IsReusable |
Obtient une valeur |
IHttpHandler.ProcessRequest(HttpContext) |
Active le traitement des requêtes Web HTTP par le biais d'un gestionnaire HTTP personnalisé qui implémente l'interface IHttpHandler. |