Suivi au niveau de la page Asp.Net, débogage, gestion des erreurs (exemple)

Table des matières:

Anonim

Dans n'importe quelle application, des erreurs sont vouées à se produire pendant le processus de développement. Il est important de pouvoir découvrir 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 dispose de techniques de gestion des erreurs pour ASP.Net.

Dans ce didacticiel, vous apprendrez-

  • Qu'est-ce que le débogage dans ASP.NET?
  • Qu'est-ce que le traçage dans ASP.NET?
  • Suivi au niveau de la page
  • Gestion des erreurs: affichage d'une page d'erreur personnalisée
  • Exception non gérée ASP.NET
  • Journalisation des erreurs ASP.NET

Qu'est-ce que le débogage dans ASP.NET?

Le débogage est le processus d'ajout de points d'arrêt à une application. Ces points d'arrêt sont utilisés pour suspendre l'exécution d'un programme en cours d'exécution. Cela permet au développeur de comprendre ce qui se passe dans un programme à un moment donné.

Prenons un exemple de programme. Le programme affiche une chaîne "Nous débogageons" à l'utilisateur. Supposons que lorsque nous exécutons l'application, pour une raison quelconque, la chaîne ne s'affiche pas. Pour identifier le problème, nous devons ajouter un point d'arrêt. Nous pouvons ajouter un point d'arrêt à la ligne de code qui affiche la chaîne. Ce point d'arrêt suspendra l'exécution du programme. À ce stade, le programmeur peut voir ce qui ne va pas. Le programmeur rectifie le programme en conséquence.

Ici, dans l'exemple, nous utiliserons notre 'DemoApplication' qui a été créée dans les chapitres précédents. Dans l'exemple suivant, 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.

Étape 1) Commençons par nous assurer que notre application Web est ouverte dans Visual Studio. Assurez-vous que DemoApplication 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ébogageons" 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) Ajoutons maintenant un point d'arrêt. Un point d'arrêt est un point dans Visual Studio où vous souhaitez que l'exécution du programme s'arrête.

  1. Pour ajouter un point d'arrêt, vous devez cliquer sur la colonne dans laquelle vous souhaitez insérer le point d'arrêt. Donc, dans notre cas, nous voulons que notre programme s'arrête à la ligne de code "Response.Write". Vous n'avez pas besoin d'ajouter de commande pour ajouter un point d'arrêt. Il vous suffit de cliquer sur la ligne sur laquelle vous souhaitez ajouter un point d'arrêt.
  2. Une fois que cela est fait, vous remarquerez que le code est marqué en rouge. En outre, une bulle rouge apparaît dans la colonne à côté de la ligne de code.

Remarque: - Vous pouvez ajouter plusieurs points d'arrêt dans une application

Étape 4) Vous devez maintenant exécuter votre application en utilisant le mode de débogage. Dans Visual Studio, choisissez l'option de menu Déboguer-> Démarrer le débogage.

Production:-

Lorsque vous effectuez toutes les étapes correctement, l'exécution du programme s'interrompt. Visual Studio ira au point d'arrêt et marquera la ligne de code en jaune.

Maintenant, 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 traçage dans ASP.NET?

Le suivi des applications permet de voir si des pages demandées entraînent une erreur. Lorsque le traçage est activé, une page supplémentaire appelée trace.axd est ajoutée à l'application. (Voir l'image ci-dessous). Cette page est jointe à la candidature. Cette page affichera toutes les demandes et leur statut.

Voyons comment activer le traçage pour une application.

Étape 1) Travaillons sur notre 'DemoApplication'. Ouvrez le fichier web.config à partir de l'Explorateur de solutions.

Étape 2) Ajoutez la ligne de code ci-dessous au fichier Web.config.

L'instruction trace est utilisée pour activer le traçage pour l'application.

  • Le 'requestLimit' dans l'instruction trace est utilisé. Il spécifie le nombre de requêtes de page à tracer.
  • Dans notre exemple, nous donnons une limite de 40. Nous donnons une limite car une valeur plus élevée dégradera les performances de l'application.

Exécutez la «demoapplication» dans Visual Studio.

Production:-

Si vous accédez maintenant à l'URL - http: // localhost: 53003 / trace.axd , vous verrez les informations pour chaque requête. Ici, vous pouvez voir si des erreurs se produisent dans une application. Les types d'informations suivants sont affichés sur la page ci-dessus

  1. L'heure de la demande de la page Web.
  2. Le nom de la page Web demandée.
  3. Le code d'état de la requête Web. (le code d'état de 200 signifie que la demande est réussie).
  4. Afficher les détails que vous autorisez pour afficher plus de détails sur la demande Web. Un exemple de ceci est montré ci-dessous. Les informations d'en-tête sont l'une des informations détaillées importantes fournies. Ces informations montrent quelles sont les informations envoyées dans l'en-tête de chaque requête Web.

Suivi au niveau de la page

Le traçage de page affiche toutes les informations générales sur une page Web lorsqu'elle est en cours de traitement. Ceci est utile pour le débogage si une page ne fonctionne pas pour une raison quelconque.

Visual Studio fournira des informations détaillées sur divers aspects de la page. Informations telles que l'heure de chaque méthode appelée dans la requête Web. Par exemple, si votre application Web rencontre un problème de performances, ces informations peuvent vous aider à déboguer le problème. Ces informations s'affichent lorsque l'application s'exécute dans Visual Studio.

Voyons comment activer le traçage pour une application au niveau de la page.

Étape 1) Travaillons sur notre DemoApplication. Ouvrez le fichier demo.aspx à partir de l'Explorateur de solutions

Étape 2) Ajoutez la ligne de code ci-dessous pour activer le traçage de page. Dans la déclaration de page, ajoutez simplement la ligne Trace = "true". Cette ligne de code permettra le traçage au niveau de la page.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Demo.aspx.cs" Inherits="DemoApplication.Demo" %>

Maintenant, lorsque la page Web Demo.aspx s'affiche, vous obtiendrez de nombreuses informations sur la page. Des informations telles que l'heure 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

Dans ASP.Net, vous pouvez afficher des pages d'erreur personnalisées pour les utilisateurs. Si une application contient une erreur quelconque, une page personnalisée affichera cette erreur à l'utilisateur.

Dans notre exemple, nous allons d'abord ajouter une page HTML. Cette page affichera une chaîne à l'utilisateur "Nous examinons le problème". Nous ajouterons ensuite un code d'erreur à notre page demo.aspx afin que la page d'erreur s'affiche.

Suivons les étapes mentionnées ci-dessous

Étape 1) Travaillons sur notre DemoApplication. Ajoutons une page HTML à l'application

  1. Cliquez avec le bouton droit sur l'application de démonstration dans l'Explorateur de solutions
  2. Choisissez l'option de menu 'Ajouter' -> Page HTML

Étape 2) À l'étape suivante, nous devons fournir un nom à la nouvelle page HTML.

  1. Fournissez le nom comme "ErrorPage".
  2. Cliquez sur le bouton «OK» pour continuer.

Étape 3) La page d'erreur s'ouvre automatiquement dans Visual Studio. Si vous accédez à l'Explorateur de solutions, vous verrez le fichier ajouté.

Ajoutez la ligne de code "Nous examinons le problème" à la page HTML. Vous n'avez pas besoin de fermer le fichier HTML avant d'apporter la modification au fichier web.config.

We are looking into the problem

Étape 4) Vous devez maintenant apporter une modification au fichier web.config. Cette modification notifiera que chaque fois qu'une erreur se produit dans l'application, la page d'erreur personnalisée doit être affichée.

La balise 'customErrors' permet de définir une page d'erreur personnalisée. La propriété defaultRedirect est définie sur le nom de la page d'erreur personnalisée créée à l'étape précédente.

Étape 5) Ajoutons maintenant du code défectueux à 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 d'un texte à partir d'un fichier.
  • Le fichier est censé se trouver dans le lecteur D avec le nom «Example.txt».
  • Mais dans notre situation, ce fichier n'existe pas vraiment. Donc, ce code entraînera 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);}}}

Exécutez maintenant le code dans Visual Studio et vous devriez obtenir la sortie ci-dessous.

Production:-

La page ci-dessus montre qu'une erreur a été déclenchée dans l'application. Par conséquent, la page Error.html s'affiche à l'utilisateur.

Exception non gérée ASP.NET

Même dans le meilleur des scénarios, il peut y avoir des cas d'erreurs qui ne sont tout simplement pas prévus.

Supposons qu'un utilisateur accède à la mauvaise page de l'application. C'est quelque chose qui ne peut être prédit. Dans de tels cas, ASP.Net peut rediriger l'utilisateur vers la page d'erreur.html.

Voyons un exemple à ce sujet.

  • Nous allons utiliser notre même 'DemoApplication' qui a la Errorpage.html.
  • Et nous essaierons 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. Voyons les étapes pour y parvenir.

Étape 1) Travaillons sur notre DemoApplication. Ouvrez le fichier Global.asax.cs à partir de l'Explorateur de solutions

REMARQUE : le fichier global.asax.cs est utilisé pour ajouter du code qui sera applicable dans toutes les pages de l'application.

Étape 2) Ajoutez la ligne de code ci-dessous à global.asax.cs. Ces lignes seront utilisées pour vérifier les erreurs et afficher la page ErrorPage.html en conséquence.

namespace DemoApplication{public partial class Demo : System.Web.UI.Page{protected void Application_Error(object sender, EventArgs e){‬ HttpException lastErrorWrapper = Server.GetLastError() as HttpException;if(lastErrorWrapper.GetHttpCode() == 404)Server.T ransfer("~/ErrorPage.html");}}}

Explication du code: -

  1. La première ligne est le gestionnaire d'événements Application_Error. Cet événement est appelé chaque fois qu'une erreur se produit dans une application. Notez que le nom de l'événement doit être «Application_Error». Et les paramètres doivent être comme indiqué ci-dessus.
  2. 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.
  3. 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 qui n'est pas trouvée). Nous transférons ensuite l'utilisateur vers la page ErrorPage.html si le code d'erreur correspond.

Maintenant, exécutez le code dans Visual Studio et vous devriez obtenir la sortie ci-dessous

Production:-

Parcourez la page http: // localhost: 53003 / Demo1.aspx . N'oubliez pas que Demo1.aspx n'existe pas dans notre application. Vous obtiendrez alors la sortie ci-dessous.

La page ci-dessus montre qu'une erreur a été déclenchée dans l'application. Par conséquent, la page Error.html s'affiche à l'utilisateur.

Journalisation des erreurs ASP.NET

En enregistrant les erreurs d'application, il aide le développeur à déboguer et à résoudre l'erreur ultérieurement. ASP.Net a la possibilité de consigner les erreurs. Cela se fait dans le fichier Global.asax.cs lorsque l'erreur est capturée. Pendant le processus de capture, le message d'erreur peut être écrit dans un fichier journal.

Voyons un exemple à ce sujet.

  • Nous allons utiliser notre même DemoApplication qui a la Errorpage.html.
  • Et nous essaierons 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.
  • Et en même temps, nous écrirons le message d'erreur dans un fichier journal. Voyons les étapes pour y parvenir.

Étape 1) Travaillons sur notre DemoApplication. Ouvrez le fichier Global.asax.cs à partir de l'Explorateur de solutions

Étape 2) Ajoutez la ligne de code ci-dessous à global.asax.cs. Il recherchera les erreurs et affichera la page ErrorPage.html en conséquence. En même temps, nous enregistrerons les détails de l'erreur dans un fichier appelé «AllErrors.txt». Pour notre exemple, nous écrirons du code pour créer ce fichier sur le lecteur D.

namespace DemoApplication{public partial class Demo : System.Web.UI.Page{protected void Application_Error(object sender, EventArgs e){Exception exc = Server.GetLastError();String str ;str = exc.Message;String path = @"D:\AllErrors.txt";File.WriteAllTest(path,str);Server.trrasfer("~/ErrorPage.html");}}}

Explication du code: -

  1. La première ligne consiste à obtenir l'erreur elle-même en utilisant la méthode «Server.GetLastError». Ceci est ensuite affecté à la variable «exc».
  2. Nous créons ensuite une variable de chaîne vide appelée «str». Nous obtenons le message d'erreur réel en utilisant la propriété 'exc.Message'. La propriété exc.Message aura le message exact pour toute erreur qui se produit lors de l'exécution de l'application. Ceci est ensuite affecté à la variable chaîne.
  3. Ensuite, nous définissons le fichier appelé «AllErrrors.txt». C'est là que tous les messages d'erreur seront envoyés. Nous écrivons la chaîne 'str' qui contient tous les messages d'erreur dans ce fichier.
  4. Enfin, nous transférons l'utilisateur dans le fichier ErrorPage.html.

Production:-

Parcourez la page http: // localhost: 53003 / Demo1.aspx . N'oubliez pas que Demo1.aspx n'existe pas dans notre application. Vous obtiendrez alors la sortie 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 au développeur ultérieurement à des fins de débogage.

Résumé

  • ASP.Net a la possibilité d'effectuer le débogage et la gestion des erreurs.
  • Le débogage peut être réalisé en ajoutant des points d'arrêt au code. On exécute ensuite l'option Démarrer avec le débogage dans Visual Studio pour déboguer le code.
  • Le traçage est la possibilité de fournir plus d'informations lors de l'exécution de l'application. Cela peut être fait au niveau de l'application ou de la page.
  • Au niveau de la page, le code Trace = true doit être ajouté à la directive de page.
  • Au niveau de l'application, une page supplémentaire appelée Trace.axd est créée pour l'application. Cela fournit toutes les informations de traçage nécessaires.