Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres
logo

precedent    sommaire    suivant   


Ou doit se trouver le Global.asax?
auteur : Didier Danse
Ce fichier se trouve obligatoirement dans le répertoire racine de l'application asp.NET. Il y en a un et un seul par application.

lien : fr Utilisation du Global.asax

Qu'est ce que le Global.asax?
auteur : Didier Danse
La classe Global est la classe capable de gérer des évènements du niveau application. Elle se trouve dans un fichier appellé Global.asax (plus précisément Global.asax.cs ou Global.asax.vb suivant le langage de développement). Le Global.asax est optionnel mais il peut faciliter le développement ainsi que la maintenance d'applications. On l'utilisera, par exemple , pour écrire une entrée dans un fichier de logs lorsqu'une exception est lancée et n'est pas gérée. Il existe également d'autres utilisations possibles comme le calcul du temps nécessaire à une requête, un compteur de hits, ... Concrètement, la classe Global est une classe dont il n'existe qu'une instance (ce que l'on appelle « singleton » dans le jargon).

lien : fr Utilisation du Global.asax

Comment compter le nombre de hits?
auteur : Didier Danse

Namespace Developpez

Public Class Global
Inherits System.Web.HttpApplication
Public Shared nbHits As Integer

Protected Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
nbHits = 0
End Sub

Protected Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
System.Math.Min(System.Threading.Interlocked.Increment(nbHits),nbHits-1)
End Sub
End Class 
End Namespace

Comment compter le nombre de visites simultanées?
auteur : Didier Danse
Le Global.asax nous est d'une grande utilité dans ce cas.

Namespace Developpez

Public Class Global
Inherits System.Web.HttpApplication
Public Shared nbUsers As Integer

Protected Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
nbUsers = 0
End Sub

Protected Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
System.Math.Min(System.Threading.Interlocked.Increment(nbUsers),nbUsers-1)
End Sub

Protected Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
System.Math.Max(System.Threading.Interlocked.Decrement(nbUsers),nbUsers+1)
End Sub
End Class 
End Namespace=
lien : fr Utilisation du Global.asax

Comment savoir le temps nécessaire à l'exécution d'une requête?
auteur : Didier Danse

Namespace Developpez

Public Class Global
Inherits System.Web.HttpApplication
Public Shared temps As Integer
Private debut As DateTime

Protected Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
debut = DateTime.Now
End Sub

Protected Sub Application_EndRequest(ByVal sender As Object, ByVal e As EventArgs)
temps = debut - DateTime.Now
End Sub
End Class 
End Namespace
Et dans la page où l'on souhaite afficher cette durée:


LaTime.Text = Global.temps.ToString
lien : fr Utilisation du Global.asax

Comment envoyer un mail décrivant l'érreur quand mon application lève une exception ?
auteur : David Pedehourcq
Dans le Global.asax :


Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs) 
    ' Se déclenche lorsqu'une erreur se produit 
    Dim ex As System.Exception = Server.GetLastError().GetBaseException 
    Dim message As New MailMessage 
    Dim m As String 
    message.From = "xxxxx" 
    message.To = "xxxx" 
    message.Subject = "::: Erreur MONAPPLICATION :::" 


    m = "<b>Erreur sur le site</b><br><br>" & _ 
        "Message : " & ex.Message.ToString() & "<Br><Br>" & _ 
        "Détails : <br><br>" & _ 
        "Date : " + DateTime.Now.ToString() + "<br><br>" & _ 
        "Pile : " + ex.StackTrace.ToString() + "<br><br>" & _ 
        "Source : " + ex.Source.ToString() + "<br><br>" & _ 
        "Url :" + Request.Url.ToString() 

    message.BodyFormat = MailFormat.Html 
    message.Priority = MailPriority.High 
    message.Body = m 

    SmtpMail.SmtpServer = "MAILSERVER" 
    SmtpMail.Send(message) 


End Sub


Remarque: Il se peut que le serveur SMTP refuse l'envoi de l'email dans le cas où l'on spécifie une adresse mail invalide pour la propriété From.

Ne pas oublier au début de votre global.asax :
using System.Web.Mail

precedent    sommaire    suivant   

Consultez les autres F.A.Q's


Les sources présentés sur cette pages sont libre de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2007  Developpez LLC. Tout droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérets. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com