| 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 : Utilisation du Global.asax
|
| 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
|
|
| 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 : Utilisation du Global.asax
|
| 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 : Utilisation du Global.asax
|
| auteur : David Pedehourcq | Dans le Global.asax :
Sub Application_Error (ByVal sender As Object, ByVal e As EventArgs)
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 :
|
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.
|