Une question classique dans n'importe quel langage de programmation est le débug.
Ainsi, comment peut-on faire pour débugguer une application WEB ?
En effet, même si l'outil de développement Visua Studio.Net contient un débuggeur, plusieurs raisons peuvent inviter à gérer soi-même son débug :
- Tout le monde ne développe pas forcément avec VS.NET
- En cas de problème sur le serveur de production (ou Intégration) on ne pourra pas utiliser VS.NET pour chercher la raison pour laquelle une page ne fonctionne pas.
- ...
La classe à utiliser est :
HttpContext.Current.Trace
Dans cette classe, on a 2 principales fonctions :
Elles permettent d'afficher dans la trace le message souhaité de la façon suivante (même principe pour Write que pour Warn) :
- Dans le cas d'un message simple :
Write ("Mon message")
- Dans le cas d'un message avec un titre du message :
Write("TitreMessage", "Mon Message")
Ainsi, par exemple, on peut afficher la valeur de la variable que l'on souhaite suivre de la façon suivante :
Write("Mavariable :", NomVariable)
Afin de pouvoir voir cette trace, il existe 2 méthodes pour 2 types de sortie différente :
- Dans la page courante
- Dans un fichier autre : trace.axd
Grâce à la page elle-même.
Dans l'entête de la page ASPX, on peut ajouter la variable TRACE à true, comme suit :
<%@ Page ..... Trace= "True" %>
Cette trace ne sera active que dans la page courante ou la variable est à la valeur true. Cette activation passe par dessus celle du Web.Config (pageOutput="false").
En effet, la page aspx au chargement regarde si cette variable existe, si ce n'est pas le cas, il regardera la valeur de la variable pageOutput du Web.Config.
L'inverse est aussi vrai, dans le cas où l'on spécifie Trace="false" dans l'entête, le serveur ignorera la variable du Web.Config pour cette page.
Dans une page externe : TRACE.AXD.
Cette visualisation se fait avec un paramétrage du fichier WEB.CONFIG de l'application Web.
Ce fichier va indiquer à l'application Web que dans chaque page aspx qu'il rencontrera, il devra stocker tout le débug généré en mémoire afin de pouvoir le visionner avec la page Trace.axd.
Dans le WEB.CONFIG on paramètre le bloc TRACE comme suit :
<configuration> <system.web> <trace enabled="true" pageOutput="true" localOnly="true" traceMode="SortByTime" requestLimit="50"> </trace> <system.web> </configuration>
Attention
On a plus qu'à aller avec son navigateur à l'adresse suivante, et contrôler les traces mémorisées :
http://localhost/Monapplication/trace.axd
Bon Coding
Romelard Fabrice (Alias F___)