Avertissement :
Ce document peut comporter des erreurs. Cependant, tout a été mis en œuvre afin de ne
pas en inclure dans ce texte. Tout code qui trouve sa place ici a été testé au préalable.
Utilisation du Global.asax ASP .NET : Etape par étape
Bibliographie 3
Introduction au Global.asax 4
Exemples d’utilisation 12
Conclusion 14
ditch.developpez.com/aspnet/introduction -2-
ASP .NET : Etape par étape 4ème partie
Bibliographie
Copyright © 2005 Danse Didier. Aucune reproduction, même partielle, ne peut être faite de ce site et
de l’ensemble de son contenu : textes, documents, images, etc sans l’autorisation expresse de l’auteur.
Sinon vous encourez selon la loi jusqu’à 3 ans de prison et jusqu’à 300000€ de dommages et intérêts.
-3- ditch.developpez.com/aspnet/introduction
Utilisation du Global.asax ASP .NET : Etape par étape
Introduction au Global.asax
La classe Global est compilée lors du premier appel (comme toutes les
classes en asp.NET d’ailleurs) pour en faire une classe MSIL.
Lorsque le traitement est terminé, l’objet est remis dans le pool en vue
d’une nouvelle utilisation.
ditch.developpez.com/aspnet/introduction -4-
ASP .NET : Etape par étape 4ème partie
Global.asax
Global.asax.cs
using System;
using System.Collections;
using System.ComponentModel;
using System.Web;
using System.Web.SessionState;
namespace Developpez
{
/// <summary>
/// Description résumée de Global.
/// </summary>
public class Global : System.Web.HttpApplication
{
private System.ComponentModel.IContainer components = null;
-5- ditch.developpez.com/aspnet/introduction
Utilisation du Global.asax ASP .NET : Etape par étape
if (Application["NbUsers"]!=null)
Application["NbUsers"]= Convert.ToInt32(Application["NbUsers"])+1;
else
Application["NbUsers"] = 1;
Ainsi ,
if (Application["NbUsers"]!=null)
return Application["NUsers"] ;
ditch.developpez.com/aspnet/introduction -6-
ASP .NET : Etape par étape 4ème partie
// Méthodes
}
Ce qui évite les problèmes de nommage ainsi que de casting tels qu’ils
pourraient survenir avec la technique précédente.
Imaginons une application Web qui ne pourrait être utilisée que par
cinq utilisateurs simultanément. Cela pourrait être traité à l’aide des
évènements Application_Start, Session_Start et Session_End.
-7- ditch.developpez.com/aspnet/introduction
Utilisation du Global.asax ASP .NET : Etape par étape
/// </summary>
public class Global : System.Web.HttpApplication
{
public static readonly int SimultanousUsers;
ditch.developpez.com/aspnet/introduction -8-
ASP .NET : Etape par étape 4ème partie
/// </summary>
public class Global : System.Web.HttpApplication
{
public static readonly int SimultanousUsers;
-9- ditch.developpez.com/aspnet/introduction
Utilisation du Global.asax ASP .NET : Etape par étape
Application_Start
C’est généralement dans cette fonction que l’on initialise l’application (Il
s’agit d’une habitude prise par les développeurs).
Session_Start
Session_Stop
Application_BeginRequest
Application_EndRequest
Application_Error
ditch.developpez.com/aspnet/introduction - 10 -
ASP .NET : Etape par étape 4ème partie
Application_End
Application_Init
Application_Dispose
Application_PreRequestHandlerExecute
Application_PostRequestHandlerExecute
Application_PreSendRequestHeaders
Se déclenche juste avant que asp.NET n’envoie l’en-tête http au client. Les
informations de l’en-tête peuvent être modifiées en utilisant cet événement.
Application_PreSendRequestContent
Application_AuthenticateRequest
Application_AuthorizeRequest
- 11 - ditch.developpez.com/aspnet/introduction
Utilisation du Global.asax ASP .NET : Etape par étape
Exemples d’utilisation
...
namespace Developpez
{
public class Global : System.Web.HttpApplication
{
static public int temps;
private DateTime debut;
...
}
}
LaTime.Text = Global.temps.ToString() ;
...
ditch.developpez.com/aspnet/introduction - 12 -
ASP .NET : Etape par étape 4ème partie
namespace Developpez
{
public class Global : System.Web.HttpApplication
{
public static int nbUsers;
Compteur de hits
namespace Developpez
{
public class Global : System.Web.HttpApplication
{
static public int nbHits;
...
}
}
- 13 - ditch.developpez.com/aspnet/introduction
Utilisation du Global.asax ASP .NET : Etape par étape
...
namespace Developpez
{
public class Global : System.Web.HttpApplication
{
...
...
}
}
Conclusion
ditch.developpez.com/aspnet/introduction - 14 -