Urmărirea nivelului paginii Asp.Net, depanare, gestionarea erorilor [Exemplu]

În orice aplicație, erorile sunt obligate să apară în timpul procesului de dezvoltare. Este important să puteți descoperi erorile într-un stadiu incipient.

În Visual Studio, este posibil să faceți acest lucru pentru aplicațiile ASP.Net. Visual Studio este folosit pentru depanare și are tehnici de gestionare a erorilor pentru ASP.Net.

Ce este Depanarea în ASP.NET?

Depanarea este procesul de adăugare a punctelor de întrerupere la o aplicație. Aceste puncte de întrerupere sunt folosite pentru a întrerupe execuția unui program care rulează. Acest lucru permite dezvoltatorului să înțeleagă ce se întâmplă într-un program la un anumit moment în timp.

Să luăm un exemplu de program. Programul afișează utilizatorului un șir „Depanăm”. Să presupunem că atunci când rulăm aplicația, dintr-un motiv oarecare, șirul nu este afișat. Pentru a identifica problema, trebuie să adăugăm un punct de întrerupere. Putem adăuga un punct de întrerupere la linia de cod care afișează șirul. Acest punct de întrerupere va întrerupe execuția programului. În acest moment, programatorul poate vedea ce este posibil să nu meargă bine. Programatorul rectifică programul în consecință.

Aici, în exemplu, vom folosi „DemoApplication” care a fost creată în capitolele anterioare. În exemplul următor, vom vedea

  • Cum să faci ca aplicația demo să afișeze un șir.
  • Cum să adăugați puncte de întrerupere la o aplicație.
  • Cum să depanați aplicația folosind acest punct de întrerupere.

Cum să depanați o aplicație în ASP.NET

Mai jos sunt pașii pentru a crea o aplicație demonstrativă, pentru a adăuga puncte de întrerupere și pentru a depana în ASP.Net:

Pasul 1) Deschideți aplicația în Visual Studio
Să ne asigurăm mai întâi că avem aplicația noastră web deschisă în Visual Studio. Asigurați-vă că DemoApplication este deschisă în Visual Studio.

Depanați o aplicație în ASP.NET

Pasul 2) Acum deschideți fișierul Demo.aspx.cs și adăugați linia de cod de mai jos.

  • Adăugăm doar linia de cod Response.Write pentru a afișa un șir.
  • Deci, atunci când aplicația se execută, ar trebui să afișeze șirul „Depanăm” în browserul web.

Depanați o aplicație în 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"); 
		  }
		}
}

Pasul 3) Adăugați un punct de întrerupere la aplicație
Un punct de întrerupere este un punct în Visual Studio în care doriți să se oprească execuția programului.

Depanați o aplicație în ASP.NET

  1. Pentru a adăuga un punct de întrerupere, trebuie să faceți clic pe coloana în care doriți să fie inserat punctul de întrerupere. Deci, în cazul nostru, dorim ca programul nostru să se oprească la linia de cod „Response.Write”. Nu trebuie să adăugați nicio comandă pentru a adăuga un punct de întrerupere. Trebuie doar să faceți clic pe linia pe care doriți să adăugați un punct de întrerupere.
  2. Odată ce ați făcut acest lucru, veți observa că codul este marcat cu roșu. De asemenea, un balon roșu apare în coloana de lângă linia de cod.

Notă: - Puteți adăuga mai multe puncte de întrerupere într-o aplicație

Pasul 4) Rulați aplicația în modul Depanare
Acum trebuie să rulați aplicația folosind Modul de depanare. În Visual Studio, alegeți opțiunea de meniu Debug->Start Debugging.

Depanați o aplicație în ASP.NET

Ieșire: -

Depanați o aplicație în ASP.NET

Când efectuați corect toți pașii, execuția programului se va întrerupe. Visual Studio va merge la punctul de întrerupere și va marca linia de cod în galben.

Acum, dacă programatorul consideră că codul este incorect, execuția poate fi oprită. Codul poate fi apoi modificat în consecință. Pentru a continua cu programul, programatorul trebuie să facă clic pe butonul F5 de pe tastatură.

Ce este urmărirea în ASP.NET?

Urmărirea aplicației vă permite să vedeți dacă orice pagină solicitată duce la o eroare. Când urmărirea este activată, la aplicație este adăugată o pagină suplimentară numită trace.axd. (Vezi imaginea de mai jos). Această pagină este atașată aplicației. Această pagină va afișa toate solicitările și starea acestora.

Urmărirea în ASP.NET

Cum să activați urmărirea pentru o aplicație în ASP.NET

Să ne uităm la cum să activați urmărirea pentru un Aplicație ASP.Net:

Pas 1) Să lucrăm la „DemoApplication” noastră. Deschideți fișierul web.config din Solution Explorer.

Activați urmărirea pentru o aplicație în ASP.NET

Pas 2) Adăugați linia de cod de mai jos în fișierul Web.config.

Declarația de urmărire este utilizată pentru a activa urmărirea pentru aplicație.

  • Se folosește „requestLimit” din instrucțiunea de urmărire. Specifică numărul de solicitări de pagină care trebuie urmărite.
  • În exemplul nostru, dăm o limită de 40. Dăm limită deoarece o valoare mai mare va degrada performanța aplicației.

Activați urmărirea pentru o aplicație în 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>

Rulați „aplicația demonstrativă” în Visual Studio.

Ieșire: -

Activați urmărirea pentru o aplicație în ASP.NET

Dacă acum răsfoiți la adresa URL – http://localhost:53003/trace.axd , veți vedea informațiile pentru fiecare cerere. Aici puteți vedea dacă apar erori într-o aplicație. Următoarele tipuri de informații sunt afișate pe pagina de mai sus

  1. Ora solicitării pentru pagina web.
  2. Numele paginii web solicitată.
  3. Codul de stare al cererii web. (codul de stare de 200 înseamnă că cererea este reușită).
  4. Afișează detaliile cărora le permiteți să vizualizați mai multe detalii despre cererea web. Un exemplu în acest sens este prezentat mai jos. O informație detaliată importantă furnizată este informațiile din antet. Aceste informații arată care sunt informațiile trimise în antetul fiecărei cereri web.

Activați urmărirea pentru o aplicație în ASP.NET

Urmărirea nivelului paginii în ASP.NET

Urmărirea la nivel de pagină în ASP.Net arată toate informațiile generale despre o pagină web atunci când aceasta este procesată. Acest lucru este util în depanare dacă o pagină nu funcționează din orice motiv. Visual Studio oferă informații detaliate despre diferite aspecte ale paginii și informații, cum ar fi timpul pentru fiecare metodă care este apelată în cererea web.

De exemplu, dacă aplicația dvs. web are o problemă de performanță, aceste informații pot ajuta la depanarea problemei. Aceste informații sunt afișate atunci când aplicația rulează în Visual Studio.

Cum să activați urmărirea la nivel de pagină în ASP.NET

Să vedem cum să activați urmărirea la nivel de pagină pentru o aplicație ASP.Net:

Pas 1) Să lucrăm la aplicația noastră Demo. Deschideți fișierul demo.aspx din Solution Explorer

Urmărirea nivelului paginii în ASP.NET

Pas 2) Adăugați linia de cod de mai jos pentru a activa urmărirea paginii. În declarația Page, trebuie doar să adăugați linia Trace="true". Această linie de cod va permite urmărirea la nivel de pagină.

Urmărirea nivelului paginii în 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>

Rulați aplicația în Visual Studio.

Ieșire: -

Urmărirea nivelului paginii în ASP.NET

Acum, când este afișată pagina web Demo.aspx, veți obține o mulțime de informații despre pagină. Pe această pagină sunt afișate informații precum timpul pentru fiecare aspect al ciclului de viață al paginii.

Gestionarea erorilor: afișarea unei pagini de eroare personalizată

In ASP.Net, puteți avea pagini de eroare personalizate afișate utilizatorilor. Dacă o aplicație conține orice fel de eroare, o pagină personalizată va afișa această eroare utilizatorului.

În exemplul nostru, mai întâi vom adăuga o pagină HTML. Această pagină va afișa utilizatorului un șir „Ne uităm la problemă”. Vom adăuga apoi un cod de eroare pe pagina noastră demo.aspx, astfel încât pagina de eroare să fie afișată.

Să urmăm pașii menționați mai jos

Pas 1) Să lucrăm la aplicația noastră Demo. Să adăugăm o pagină HTML în aplicație

  1. Faceți clic dreapta pe DemoApplication în Solution Explorer
  2. Alegeți opțiunea de meniu „Adăugați”->Pagină HTML

Gestionarea erorilor în ASP.Net

Pas 2) În pasul următor, trebuie să oferim un nume noii pagini HTML.

  1. Furnizați numele ca „ErrorPage”.
  2. Faceți clic pe butonul „OK” pentru a continua.

Gestionarea erorilor în ASP.Net

Pas 3) Pagina de eroare se va deschide automat în Visual Studio. Dacă accesați Solution Explorer, veți vedea fișierul adăugat.

Gestionarea erorilor în ASP.Net

Adăugați linia de cod „Exactăm problema” la pagina HTML. Nu trebuie să închideți fișierul HTML înainte de a face modificarea fișierului web.config.

Gestionarea erorilor în 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>

Pas 4) Acum trebuie să faceți o modificare în fișierul web.config. Această modificare va anunța că ori de câte ori apare o eroare în aplicație, pagina de eroare personalizată trebuie să fie afișată.

Eticheta „customErrors” permite definirea unei pagini de eroare personalizată. Proprietatea defaultRedirect este setată la numele paginii noastre de eroare personalizată creată la pasul anterior.

Gestionarea erorilor în 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>

Pas 5) Acum să adăugăm un cod defect pe pagina demo.aspx.cs. Deschideți această pagină făcând dublu clic pe fișier în Solution Explorer

Gestionarea erorilor în ASP.Net

Adăugați codul de mai jos în fișierul Demo.aspx.cs.

  • Aceste linii de cod sunt concepute pentru a citi liniile unui text dintr-un fișier.
  • Fișierul ar trebui să fie localizat în unitatea D cu numele „Example.txt”.
  • Dar în situația noastră, acest fișier nu există cu adevărat. Deci, acest cod va avea ca rezultat o eroare atunci când aplicația rulează.

Gestionarea erorilor în 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);
		  }
		}
}

Acum executați codul în Visual Studio și ar trebui să obțineți rezultatul de mai jos.

Ieșire: -

Gestionarea erorilor în ASP.Net

Pagina de mai sus arată că a fost declanșată o eroare în aplicație. Ca rezultat, pagina Error.html este afișată utilizatorului.

Excepție ASP.NET netratată

Chiar și în cele mai bune scenarii, pot exista cazuri de erori care pur și simplu nu sunt prevăzute.

Să presupunem că un utilizator navighează la pagina greșită din aplicație. Acesta este ceva ce nu poate fi prevăzut. În astfel de cazuri, ASP.Net poate redirecționa utilizatorul către errorpage.html.

Să vedem un exemplu în acest sens.

  • Vom folosi aceeași „Aplicație Demo” care are Errorpage.html.
  • Și vom încerca să vedem o pagină web care nu există în aplicația noastră.
  • Ar trebui să fim redirecționați către pagina noastră ErrorPage.html în acest caz. Să vedem pașii pentru a realiza acest lucru.

Pas 1) Să lucrăm la aplicația noastră Demo. Deschideți fișierul Global.asax.cs din Solution Explorer

Excepție ASP.NET netratată

NOTĂ: Fișierul global.asax.cs este folosit pentru a adăuga cod care va fi aplicabil în toate paginile din aplicație.

Pas 2) Adăugați linia de cod de mai jos la global.asax.cs. Aceste rânduri vor fi folosite pentru a verifica erorile și pentru a afișa pagina ErrorPage.html în consecință.

Excepție ASP.NET netratată

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");
		  }
		}
}

Explicația codului: -

  1. Prima linie este handlerul de evenimente Application_Error. Acest eveniment este apelat ori de câte ori apare o eroare într-o aplicație. Rețineți că numele evenimentului trebuie să fie „Application_Error”. Și parametrii ar trebui să fie așa cum se arată mai sus.
  2. În continuare, definim un obiect de tipul clasei HttpException. Acesta este un obiect standard care va deține toate detaliile erorii. Apoi folosim metoda Server.GetLastError pentru a obține toate detaliile ultimei erori care a apărut în aplicație.
  3. Apoi verificăm dacă codul de eroare al ultimei erori este 404. (Codul de eroare 404 este codul standard returnat atunci când un utilizator navighează la o pagină care nu este găsită). Transferăm apoi utilizatorul la pagina ErrorPage.html dacă codul de eroare se potrivește.

Acum rulați codul în Visual Studio și ar trebui să obțineți rezultatul de mai jos

Ieșire: -

Răsfoiți pagina http://localhost:53003/Demo1.aspx . Rețineți că Demo1.aspx nu există în aplicația noastră. Veți obține apoi rezultatul de mai jos.

Excepție netratată în ASP.NET

Pagina de mai sus arată că a fost declanșată o eroare în aplicație. Ca rezultat, pagina Error.html este afișată utilizatorului.

ASP.NET Eroare de înregistrare

Prin înregistrarea erorilor aplicației, ajută dezvoltatorul să depaneze și să rezolve eroarea la un moment ulterior. ASP.Net are posibilitatea de a înregistra erori. Acest lucru se face în fișierul Global.asax.cs când eroarea este capturată. În timpul procesului de capturare, mesajul de eroare poate fi scris într-un fișier jurnal.

Să vedem un exemplu în acest sens.

  • Vom folosi aceeași DemoApplication care are Errorpage.html.
  • Și vom încerca să vedem o pagină web care nu există în aplicația noastră.
  • Ar trebui să fim redirecționați către pagina noastră ErrorPage.html în acest caz.
  • Și, în același timp, vom scrie mesajul de eroare într-un fișier jurnal. Să vedem pașii pentru a realiza acest lucru.

Pas 1) Să lucrăm la aplicația noastră Demo. Deschideți fișierul Global.asax.cs din Solution Explorer

ASP.NET Eroare de înregistrare

Pas 2) Adăugați linia de cod de mai jos la global.asax.cs. Acesta va verifica erorile și va afișa pagina ErrorPage.html în consecință. De asemenea, în același timp, vom înregistra detaliile erorii într-un fișier numit „AllErrors.txt”. Pentru exemplul nostru, vom scrie cod pentru a avea acest fișier creat pe unitatea D.

ASP.NET Eroare de înregistrare

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");
		  }
		}
}

Explicația codului: -

  1. Prima linie este să obțineți eroarea în sine folosind metoda „Server.GetLastError”. Aceasta este apoi atribuită variabilei „exc”.
  2. Apoi creăm o variabilă șir goală numită „str”. Primim mesajul de eroare real folosind proprietatea „exc.Message”. Proprietatea exc.Message va avea mesajul exact pentru orice eroare care apare la rularea aplicației. Aceasta este apoi atribuită variabilei șir.
  3. Apoi, definim fișierul numit „AllErrrors.txt”. Aici vor fi trimise toate mesajele de eroare. Scriem șirul „str” care conține toate mesajele de eroare în acest fișier.
  4. În cele din urmă, transferăm utilizatorul în fișierul ErrorPage.html.

Ieșire: -

Răsfoiți pagina http://localhost:53003/Demo1.aspx . Rețineți că Demo1.aspx nu există în aplicația noastră. Veți obține apoi rezultatul de mai jos.

ASP.NET Eroare de înregistrare

Și, în același timp, dacă deschideți fișierul „AllErrors.txt”, veți vedea informațiile de mai jos.

ASP.NET Eroare de înregistrare

Mesajul de eroare poate fi apoi transmis dezvoltatorului la un moment ulterior în timp, în scopuri de depanare.

Rezumat

  • ASP.Net are posibilitatea de a efectua depanarea și gestionarea erorilor.
  • Depanarea poate fi realizată prin adăugarea de puncte de întrerupere la cod. Apoi rulează opțiunea Start with Debugging în Visual Studio pentru a depana codul.
  • Urmărirea este facilitatea de a oferi mai multe informații în timpul rulării aplicației. Acest lucru se poate face la nivel de aplicație sau de pagină.
  • La nivel de pagină, codul Trace=true trebuie adăugat la directiva de pagină.
  • La nivel de aplicație, o pagină suplimentară numită Trace.axd este creată pentru aplicație. Aceasta oferă toate informațiile necesare de urmărire.