Niveau de page ASP.NET TracIngénierie, débogage, gestion des erreurs
⚡ Résumé intelligent
Débogage ASP.NET, tracLa prise en charge et la gestion des erreurs dans Visual Studio aident les développeurs à détecter les problèmes rapidement et à suivre les demandes jusqu'à leur résolution. trace.axd, et rediriger les utilisateurs vers des pages d'erreur personnalisées lorsque des exceptions non gérées surviennent pendant le cycle de développement et de production.
Dans toute application, des erreurs sont inévitables lors du processus de développement. Il est important de pouvoir détecter les erreurs à un stade précoce.
Dans Visual Studio, il est possible de le faire pour les applications ASP.NET. Visual Studio est utilisé pour le débogage et intègre des techniques de gestion des erreurs pour ASP.NET.
Qu’est-ce que le débogage dans ASP.NET ?
Débogage Le processus d'ajout de points d'arrêt à une application consiste à interrompre l'exécution d'un programme. Ces points d'arrêt permettent au développeur d'observer ce qui se passe dans le programme à un instant précis.
Prenons l'exemple d'un programme. Ce programme affiche le message « Nous sommes en train de déboguer » à l'utilisateur. Supposons que, lors de l'exécution de l'application, ce message ne s'affiche pas. Pour identifier le problème, il faut ajouter un point d'arrêt. Ce point d'arrêt peut être placé sur la ligne de code qui affiche le message. Il interrompra l'exécution du programme. Le programmeur pourra alors observer l'origine du problème et corriger le programme en conséquence.
Dans cet exemple, nous utiliserons notre application de démonstration créée dans les chapitres précédents. L'exemple suivant illustre ce que nous verrons :
- Comment faire en sorte que l'application de démonstration affiche une chaîne.
- Comment ajouter des points d'arrêt à une application.
- Comment déboguer l'application à l'aide de ce point d'arrêt.
Comment déboguer une application ASP.NET
Voici les étapes à suivre pour créer une application de démonstration, ajouter des points d'arrêt et déboguer dans ASP.NET :
Étape 1) Ouvrez l'application dans Visual Studio.
Commençons par vérifier que notre application web est bien ouverte dans Visual Studio. Assurez-vous que l'application de démonstration est ouverte dans Visual Studio.
Étape 2) Ouvrez maintenant le fichier Demo.aspx.cs et ajoutez la ligne de code ci-dessous.
- Nous ajoutons simplement la ligne de code Response.Write pour afficher une chaîne.
- Ainsi, lorsque l'application s'exécute, elle doit afficher la chaîne « Nous débogons » dans le navigateur Web.
namespace DemoApplication { public partial class Demo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Response.Write("We are debugging"); } } }
Étape 3) Ajouter un point d'arrêt à l'application.
Un point d'arrêt est un point dans Visual Studio où vous souhaitez que l'exécution du programme s'arrête.
- Pour ajouter un point d'arrêt, cliquez sur la colonne où vous souhaitez l'insérer. Dans notre exemple, nous voulons que le programme s'arrête à la ligne de code « Response.Write ». Aucune commande n'est nécessaire : il suffit de cliquer sur la ligne concernée.
- Une fois cela fait, vous remarquerez que le code est marqué en rouge. De plus, une bulle rouge apparaît dans la colonne à côté de la ligne de code.
À noter: Vous pouvez ajouter plusieurs points d'arrêt dans une application.
Étape 4) Exécutez l'application en mode débogage.
Vous devez maintenant exécuter votre application en mode débogage. Dans Visual Studio, choisissez l’option de menu Debug->Start Debugging.
Production:-
Lorsque vous effectuez toutes les étapes correctement, l'exécution du programme sera interrompue. Visual Studio ira au point d'arrêt et marquera la ligne de code en jaune.
Désormais, si le programmeur estime que le code est incorrect, l'exécution peut être arrêtée. Le code peut alors être modifié en conséquence. Pour continuer le programme, le programmeur doit cliquer sur le bouton F5 du clavier.
Qu'est-ce que le TracVous travaillez avec ASP.NET ?
Application tracfaire respecter permet de voir si des pages demandées ont généré une erreur. tracL'activation est activée, une page supplémentaire appelée tracLe fichier e.axd a été ajouté à l'application (voir image ci-dessous). Cette page, liée à l'application, affichera toutes les requêtes et leur statut.
Comment activer TracCréation d'une application en ASP.NET
Voyons comment activer tracing pour un Application ASP.NET:
Étape 1) Travaillons maintenant sur notre application de démonstration. Ouvrez le fichier web.config depuis l'explorateur de solutions.
Étape 2) Ajoutez la ligne de code ci-dessous au fichier web.config. tracL'instruction e est utilisée pour activer tracant pour l'application.
- La limite de requêtes dans le tracL'instruction e spécifie le nombre de requêtes de page qui doivent être traced.
- Dans notre exemple, nous fixons une limite de 40. Nous imposons une limite car une valeur plus élevée dégraderait les performances de l'application.
<?xml version="1.0" encoding="utf-8"?> <!-- For more information on how to configure your ASP.NET application, please visit http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <system.web> <compilation debug="true" targetFramework="4.0" /> <httpRuntime targetFramework="4.0" /> <trace enabled="true" pageOutput="false" requestLimit="40" localOnly="false" /> </system.web> </configuration>
Exécutez l'application de démonstration dans Visual Studio.
Production:-
Si vous naviguez maintenant vers le URL http://localhost:53003/trace.axdVous trouverez ici les informations relatives à chaque requête. Vous pourrez ainsi vérifier si des erreurs se sont produites lors de l'exécution d'une application. Les types d'informations suivants sont affichés sur la page :
- L’heure de la demande de la page Web.
- Le nom de la page web demandée.
- Le code d'état de la requête web (un code d'état 200 signifie que la requête a réussi).
- Le lien « Afficher les détails » vous permet de consulter plus d'informations sur la requête web. Parmi ces informations, on trouve notamment les en-têtes, qui indiquent le contenu de chaque en-tête de requête.
Niveau de la page Tracing dans ASP.NET
Niveau de la page Tracfaire respecter Dans ASP.NET, les informations générales relatives à une page web sont affichées lors de son traitement. Ceci est utile pour le débogage si une page ne fonctionne pas correctement. Visual Studio fournit des informations détaillées sur différents aspects de la page, comme le temps d'exécution de chaque méthode appelée lors de la requête web.
Par exemple, si votre application web rencontre un problème de performance, ces informations peuvent vous aider à le résoudre. Elles s'affichent lors de l'exécution de l'application dans Visual Studio.
Comment activer TracIntégration au niveau de la page dans ASP.NET
Voyons comment activer le niveau de page tracpour une application ASP.NET :
Étape 1) Travaillons maintenant sur notre application de démonstration. Ouvrez le fichier demo.aspx depuis l'explorateur de solutions.
Étape 2) Ajoutez la ligne de code ci-dessous pour activer la page tracDans la déclaration de page, ajoutez simplement l'attribut Trace="true". Cette ligne de code permettra au niveau de la page d'être activé. tracING.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Demo.aspx.cs" Inherits="DemoApplication.Demo" Trace="true" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> </form> </body> </html>
Exécutez l'application dans Visual Studio.
Production:-
Désormais, lorsque la page Web Demo.aspx s'affiche, vous obtiendrez de nombreuses informations sur la page. Des informations telles que la durée de chaque aspect du cycle de vie de la page sont affichées sur cette page.
Gestion des erreurs : affichage d'une page d'erreur personnalisée
In ASP.NET, vous pouvez afficher des pages d'erreur personnalisées pour les utilisateurs. Si une application contient une sorte d'erreur, une page personnalisée affichera cette erreur à l'utilisateur.
Dans notre exemple, nous allons d'abord ajouter une page HTML. Cette page affichera à l'utilisateur le message « Nous examinons le problème ». Nous ajouterons ensuite du code d'erreur à notre page demo.aspx afin que la page d'erreur s'affiche. Suivez les étapes ci-dessous.
Étape 1) Travaillons maintenant sur notre application de démonstration. Ajoutons-y une page HTML.
- Cliquez avec le bouton droit sur DemoApplication dans l'Explorateur de solutions.
- Choisissez l'option de menu Ajouter -> Page HTML.
Étape 2) À l'étape suivante, nous devons fournir un nom à la nouvelle page HTML.
- Indiquez le nom « ErrorPage ».
- Cliquez sur le bouton OK pour continuer.
Étape 3) La page d'erreur s'ouvrira automatiquement dans Visual Studio. Si vous accédez à l'Explorateur de solutions, vous verrez le fichier ajouté.
Ajoutez la ligne de code « Nous étudions le problème » à la page HTML. Il n'est pas nécessaire de fermer le fichier HTML avant de modifier le fichier web.config.
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> We are looking into the problem </body> </html>
Étape 4) Vous devez maintenant modifier le fichier web.config. Cette modification indiquera qu'en cas d'erreur dans l'application, la page d'erreur personnalisée doit s'afficher. La balise customErrors permet de définir cette page. La propriété defaultRedirect est définie sur le nom de la page d'erreur personnalisée créée à l'étape précédente.
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime targetFramework="4.0" />
<customErrors mode="On" defaultRedirect="ErrorPage.html">
</customErrors>
</system.web>
</configuration>
Étape 5) Ajoutons maintenant du code erroné à la page demo.aspx.cs. Ouvrez cette page en double-cliquant sur le fichier dans l'Explorateur de solutions.
Ajoutez le code ci-dessous au fichier Demo.aspx.cs.
- Ces lignes de code sont conçues pour lire les lignes de texte d'un fichier.
- Le fichier est censé se trouver sur le lecteur D et se nommer Example.txt.
- Mais dans notre situation, ce fichier n’existe pas vraiment. Ce code entraînera donc une erreur lors de l’exécution de l’application.
namespace DemoApplication { public partial class Demo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { String path = @"D:\Example.txt"; string[] lines; lines = File.ReadAllLines(path); } } }
Maintenant, exécutez le code dans Visual Studio et vous devriez obtenir le résultat ci-dessous.
Production:-
La page ci-dessus indique qu'une erreur s'est produite dans l'application. Par conséquent, la page ErrorPage.html s'affiche pour l'utilisateur.
Exception ASP.NET non gérée
Même dans le meilleur des cas, des erreurs imprévues peuvent survenir. Imaginons qu'un utilisateur accède à une page incorrecte de l'application. Ce type d'erreur est imprévisible. Dans ce cas, ASP.NET peut rediriger l'utilisateur vers la page d'erreur (ErrorPage.html).
Prenons un exemple.
- Nous allons utiliser notre même application de démonstration qui contient le fichier ErrorPage.html.
- Et nous allons essayer de visualiser une page web qui n'existe pas dans notre application.
- Dans ce cas, nous devrions être redirigés vers notre page ErrorPage.html. Voyons les étapes à suivre.
Étape 1) Travaillons maintenant sur notre application de démonstration. Ouvrez le fichier Global.asax.cs depuis l'explorateur de solutions.
À noter: Le fichier Global.asax.cs est utilisé pour ajouter du code qui sera applicable à toutes les pages de l'application.
Étape 2) Ajoutez la ligne de code ci-dessous au fichier Global.asax.cs. Ces lignes serviront à vérifier les erreurs et à afficher la page ErrorPage.html en conséquence.
namespace DemoApplication { public class Global : System.Web.HttpApplication { protected void Application_Error(object sender, EventArgs e) { HttpException lastErrorWrapper = Server.GetLastError() as HttpException; if (lastErrorWrapper.GetHttpCode() == 404) Server.Transfer("~/ErrorPage.html"); } } }
Code Explication:-
- La première ligne correspond au gestionnaire d'événements Application_Error. Cet événement est déclenché lorsqu'une erreur survient dans l'application. Notez que le nom de l'événement doit être Application_Error et que ses paramètres doivent correspondre à ceux indiqués ci-dessus.
- Ensuite, nous définissons un objet du type de classe HttpException. Il s'agit d'un objet standard qui contiendra tous les détails de l'erreur. Nous utilisons ensuite la méthode Server.GetLastError pour obtenir tous les détails de la dernière erreur survenue dans l'application.
- Nous vérifions ensuite si le code d'erreur de la dernière erreur est 404 (le code d'erreur 404 est le code standard renvoyé lorsqu'un utilisateur accède à une page introuvable). Si tel est le cas, nous redirigeons l'utilisateur vers la page ErrorPage.html.
Exécutez maintenant le code dans Visual Studio et vous devriez obtenir le résultat ci-dessous.
Production:-
Parcourir la page http://localhost:53003/Demo1.aspx. N'oubliez pas que Demo1.aspx n'existe pas dans notre application. Vous obtiendrez alors le résultat ci-dessous.
La page ci-dessus indique qu'une erreur s'est produite dans l'application. Par conséquent, la page ErrorPage.html s'affiche pour l'utilisateur.
Journalisation des erreurs ASP.NET
L'enregistrement des erreurs d'application permet au développeur de les déboguer et de les résoudre ultérieurement. ASP.NET offre une fonctionnalité d'enregistrement des erreurs. Cette opération est effectuée dans le fichier Global.asax.cs lors de la capture de l'erreur. Durant ce processus, le message d'erreur est consigné dans un fichier journal.
Prenons un exemple.
- Nous allons utiliser notre même application de démonstration qui contient le fichier ErrorPage.html.
- Et nous allons essayer de visualiser une page web qui n'existe pas dans notre application.
- Nous devrions être redirigés vers notre page ErrorPage.html dans ce cas.
- Parallèlement, nous consignerons le message d'erreur dans un fichier journal. Voyons les étapes à suivre.
Étape 1) Travaillons maintenant sur notre application de démonstration. Ouvrez le fichier Global.asax.cs depuis l'explorateur de solutions.
Étape 2) Ajoutez la ligne de code ci-dessous au fichier Global.asax.cs. Elle vérifiera les erreurs et affichera la page ErrorPage.html en conséquence. De plus, les détails des erreurs seront consignés dans un fichier nommé AllErrors.txt. Dans notre exemple, nous écrirons le code permettant de créer ce fichier sur le lecteur D.
namespace DemoApplication { public class Global : System.Web.HttpApplication { protected void Application_Error(object sender, EventArgs e) { Exception exc = Server.GetLastError(); String str = ""; str = exc.Message; String path = @"D:\AllErrors.txt"; File.WriteAllText(path, str); Server.Transfer("~/ErrorPage.html"); } } }
Code Explication:-
- La première ligne consiste à récupérer l'erreur elle-même à l'aide de la méthode Server.GetLastError. Celle-ci est ensuite affectée à la variable exc.
- Nous créons ensuite une variable de type chaîne vide appelée str. Nous récupérons le message d'erreur réel grâce à la propriété exc.Message. Cette propriété contient le message exact de toute erreur survenant lors de l'exécution de l'application. Ce message est ensuite affecté à la variable de type chaîne.
- Ensuite, nous définissons le fichier AllErrors.txt. C'est dans ce fichier que seront enregistrés tous les messages d'erreur. Nous y écrivons la chaîne de caractères str, qui contient tous ces messages.
- Enfin, nous transférons l'utilisateur vers le fichier ErrorPage.html.
Production:-
Parcourir la page http://localhost:53003/Demo1.aspx. N'oubliez pas que Demo1.aspx n'existe pas dans notre application. Vous obtiendrez alors le résultat ci-dessous.
Et en même temps, si vous ouvrez le fichier AllErrors.txt, vous verrez les informations ci-dessous.
Le message d'erreur peut ensuite être transmis ultérieurement au développeur à des fins de débogage.





























