1 sur 2 ont trouvé cela utile - Évaluez ce sujet

HttpApplication, classe

Définit les méthodes, propriétés et événements communs à tous les objets application au sein d'une application ASP.NET. Il s'agit de la classe de base des applications définies par l'utilisateur dans le fichier Global.asax.

Espace de noms : System.Web
Assembly : System.Web (dans system.web.dll)

public class HttpApplication : IHttpAsyncHandler, IHttpHandler, IComponent, 
	IDisposable
public class HttpApplication implements IHttpAsyncHandler, IHttpHandler, 
	IComponent, IDisposable
public class HttpApplication implements IHttpAsyncHandler, IHttpHandler, 
	IComponent, IDisposable

Les instances de la classe HttpApplication sont créées dans l'infrastructure ASP.NET et non directement par l'utilisateur. Une instance de la classe HttpApplication est utilisée pour traiter de nombreuses demandes pendant sa durée de vie ; toutefois, elle ne peut en traiter qu'une à la fois. C'est pourquoi des variables membres peuvent être utilisées pour stocker des données demande par demande.

Une application exécute des événements qui sont gérés par des modules ou un code utilisateur définis dans le fichier Global.asax dans l'ordre suivant :

  1. BeginRequest

  2. AuthenticateRequest

  3. PostAuthenticateRequest

  4. AuthorizeRequest

  5. PostAuthorizeRequest

  6. ResolveRequestCache

  7. PostResolveRequestCache

    Après l'événement PostResolveRequestCache et avant l'événement PostMapRequestHandler, un gestionnaire d'événements (une page qui correspond à l'URL de demande) est créé.

  8. PostMapRequestHandler

  9. AcquireRequestState

  10. PostAcquireRequestState

  11. PreRequestHandlerExecute

    Le gestionnaire d'événements est exécuté.

  12. PostRequestHandlerExecute

  13. ReleaseRequestState

  14. PostReleaseRequestState

    Après l'événement PostReleaseRequestState, des filtres de réponse filtrent la sortie (s'ils existent).

  15. UpdateRequestCache

  16. PostUpdateRequestCache

  17. EndRequest

Les deux exemples suivants montrent comment utiliser la classe HttpApplication et ses événements. Le premier montre comment créer un module HTTP personnalisé et lui connecter un événement. Le second exemple montre comment modifier le fichier Web.config.

L'exemple de code suivant montre comment créer un module HTTP personnalisé et connecter l'événement AcquireRequestState à ce module. Les modules HTTP interceptent chaque demande envoyée aux ressources d'une application Web, vous permettant ainsi de filtrer les demandes du client. Tout module HTTP qui est abonné à un événement HttpApplication 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 ");
		}

	}
}

Pour qu'un événement d'un module HTTP personnalisé puisse se produire, vous devez modifier les paramètres de configuration du fichier Web.config pour notifier ce module HTTP à ASP.NET. L'exemple de code suivant montre le paramétrage de configuration approprié dans la section httpModules du fichier Web.config.

<configuration>
  <system.web>
    <httpModules>
      <add type="Samples.AspNet.CS.CustomHTTPModule"
           name="CustomHttpModule" />
      </httpModules>
  </system.web>
</configuration>
  • AspNetHostingPermission  pour opérer dans un environnement hébergé. Valeur de demande : LinkDemand ; valeur d'autorisation : Minimal.
  • AspNetHostingPermission  pour opérer dans un environnement hébergé. Valeur de demande : InheritanceDemand ; valeur d'autorisation : Minimal.
System.Object
  System.Web.HttpApplication
Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0
Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ