Traçage au niveau de la page Asp.Net, débogage, gestion des erreurs [Exemple]

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.

In 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.

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 sommes en train de déboguer » à 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 mettra en pause 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 la suitewing exemple, 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 dans ASP.NET

Vous trouverez ci-dessous les étapes 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
Assurons-nous d'abord que notre application Web est ouverte dans Visual Studio. Assurez-vous que DemoApplication est ouvert dans Visual Studio.

Déboguer une application dans ASP.NET

É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.

Déboguer une application dans ASP.NET

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.

Déboguer une application dans ASP.NET

  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 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.

Remarque: - 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.

Déboguer une application dans ASP.NET

Production:-

Déboguer une application dans ASP.NET

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

Le traçage des applications permet de voir si les 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.

Traçage dans ASP.NET

Comment activer le traçage pour une application dans ASP.NET

Voyons comment activer le traçage d'un Application ASP.Net:

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

Activer le traçage pour une application dans ASP.NET

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

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

  • Le 'requestLimit' dans l'instruction trace est utilisé. Il spécifie le nombre de demandes de pages qui doivent être tracées.
  • 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.

Activer le traçage pour une application dans ASP.NET

<?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 enable="true" pageOutput="false" requestLimit="40" localOnly="false"/>
		
	</system.web>
</configuration>

Exécutez la « démoapplication » dans Visual Studio.

Production:-

Activer le traçage pour une application dans ASP.NET

Si vous naviguez maintenant jusqu'à l'URL – http://localhost:53003/trace.axd , vous verrez les informations pour chaque demande. Ici, vous pouvez voir si des erreurs se produisent dans une application. Le suiviwing les types d'informations 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 200 signifie que la demande est réussie).
  4. La vue details qui vous permet de voir plus details à propos de la demande Web. Un exemple de ceci est présenté ci-dessous. Une information détaillée importante fournie est l’information d’en-tête. Ces informations montrent quelles sont les informations envoyées dans l’en-tête de chaque requête Web.

Activer le traçage pour une application dans ASP.NET

Traçage au niveau de la page dans ASP.NET

Traçage au niveau de la page dans ASP.Net affiche toutes les informations générales sur une page Web lors de son traitement. Ceci est utile pour le débogage si une page ne fonctionne pas pour une raison quelconque. Visual Studio fournit des informations détaillées sur divers aspects de la page et des 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 est en cours d'exécution. Visual Studio.

Comment activer le traçage au niveau de la page dans ASP.NET

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

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

Traçage au niveau de la page dans ASP.NET

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

Traçage au niveau de la page dans ASP.NET

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

	<!DOCTYPE html>
<html xmlns="http://www.w3.ore/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:-

Traçage au niveau de la page dans ASP.NET

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 une chaîne à l'utilisateur « Nous étudions 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 DemoApplication dans l'Explorateur de solutions
  2. Choisissez l'option de menu 'Ajouter' -> Page HTML

Gestion des erreurs dans ASP.Net

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

  1. Fournissez le nom « Page d'erreur ».
  2. Cliquez sur le bouton « OK » pour continuer.

Gestion des erreurs dans ASP.Net

É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é.

Gestion des erreurs dans ASP.Net

Ajoutez la ligne de code « Nous étudions 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.

Gestion des erreurs dans ASP.Net

<!DOCTYPE html>
<html xmlns="http://www.w3.ore/1999/xhtml">
<head runat="server">
	<title></title>
</head>	
	<body>
	  We are looking into the problem
	</body>
</html>

Étape 4) Vous devez maintenant apporter une modification au fichier web.config. Ce changement indiquera 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 notre page d'erreur personnalisée créée à l'étape précédente.

Gestion des erreurs dans ASP.Net

<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 défectueux à la page demo.aspx.cs. Ouvrez cette page endouble-cliquer sur le fichier dans l'Explorateur de solutions

Gestion des erreurs dans ASP.Net

Ajoutez le code ci-dessous au fichier Demo.aspx.cs.

  • Ces lignes de code sont destinées à lire les lignes d'un texte à partir d'un fichier.
  • Le fichier est censé se trouver dans le lecteur D sous le nom « 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.

Gestion des erreurs dans ASP.Net

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:-

Gestion des erreurs dans ASP.Net

La page ci-dessus montre qu'une erreur s'est produite dans l'application. En conséquence, la page Error.html s'affiche à l'utilisateur.

Exception ASP.NET non gérée

Même dans le meilleur des cas, il peut y avoir des erreurs imprévisibles.

Supposons qu'un utilisateur navigue vers 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 le fichier errorpage.html.

Voyons un exemple à ce sujet.

  • Nous allons utiliser notre même « DemoApplication » 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. Voyons les étapes pour y parvenir.

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

Exception ASP.NET non gérée

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

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

Exception ASP.NET non gérée

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 lestails de l'erreur. Nous utilisons ensuite la méthode Server.GetLastError pour obtenir tous les détails.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 navigue vers 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 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.

Exception non gérée dans ASP.NET

La page ci-dessus montre qu'une erreur s'est produite dans l'application. En conséquence, la page Error.html s'affiche à l'utilisateur.

Journalisation des erreurs ASP.NET

En enregistrant les erreurs d'application, cela aide le développeur à déboguer et à résoudre l'erreur à un moment donné. later point de temps. 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 le 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.
  • 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

Journalisation des erreurs ASP.NET

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

Journalisation des erreurs ASP.NET

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'. Celui-ci est ensuite affecté à la variable « exc ».
  2. Nous créons ensuite une variable 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 survenant lors de l'exécution de l'application. Celui-ci est ensuite affecté à la variable chaîne.
  3. Ensuite, nous définissons le fichier appelé « AllErrrors.txt ». C'est ici que tous les messages d'erreur seront envoyés. Nous écrivons la chaîne 'str' qui contient tous les messages d'erreur de ce fichier.
  4. 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.

Journalisation des erreurs ASP.NET

Et en même temps, si vous ouvrez le fichier « AllErrors.txt », vous verrez les informations ci-dessous.

Journalisation des erreurs ASP.NET

Le message d'erreur peut ensuite être transmis au développeur à un moment donné. later moment précis à 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 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.