Asp.Net praćenje razine stranice, ispravljanje pogrešaka, rukovanje pogreškama (primjer)

Sadržaj:

Anonim

U bilo kojoj aplikaciji tijekom postupka razvoja moraju se pojaviti pogreške. Važno je moći otkriti pogreške u ranoj fazi.

U Visual Studiju je to moguće učiniti za ASP.Net aplikacije. Visual Studio koristi se za otklanjanje pogrešaka i ima tehnike rukovanja pogreškama za ASP.Net.

U ovom vodiču naučit ćete-

  • Što je otklanjanje pogrešaka u ASP.NET-u?
  • Što je praćenje u ASP.NET-u?
  • Praćenje na razini stranice
  • Rukovanje pogreškama: prikaz stranice prilagođene pogreške
  • ASP.NET neobrađena iznimka
  • ASP.NET prijava pogrešaka

Što je otklanjanje pogrešaka u ASP.NET-u?

Otklanjanje pogrešaka postupak je dodavanja točaka prekida u aplikaciju. Te se točke zaustavljanja koriste za zaustavljanje izvršavanja pokrenutog programa. To omogućuje programeru da razumije što se događa u programu u određenom trenutku.

Uzmimo primjer programa. Program korisniku prikazuje niz "Otklanjamo pogreške". Pretpostavimo da se iz nekog razloga niz koji se pokreće ne prikazuje. Da bismo identificirali problem, moramo dodati točku prekida. U liniju koda koja prikazuje niz možemo dodati točku prekida. Ova točka zaustavljanja zaustavit će izvršavanje programa. U ovom trenutku programer može vidjeti što možda ide po zlu. Programer ispravlja program u skladu s tim.

Ovdje ćemo u primjeru koristiti našu 'DemoApplication' koja je stvorena u ranijim poglavljima. U sljedećem ćemo primjeru vidjeti

  • Kako natjerati demo aplikaciju da prikazuje niz.
  • Kako dodati točke prekida u aplikaciju.
  • Kako ispraviti pogreške u aplikaciji pomoću ove točke prekida.

Korak 1) Prvo osigurajmo da je naša web aplikacija otvorena u Visual Studiju. Osigurajte da je DemoApplication otvorena u Visual Studiju.

Korak 2) Sada otvorite datoteku Demo.aspx.cs i dodajte donji redak koda.

  • Samo dodajemo liniju koda Response.Write da bismo prikazali niz.
  • Dakle, kada se aplikacija izvršava, trebala bi prikazati niz "Otklanjamo pogreške" u web pregledniku.

namespace DemoApplication{public partial class Demo : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){Response.Write("We are debugging");}}}

Korak 3) Dodajmo točku prijeloma. Točka prekida je točka u Visual Studiju u kojoj želite da se izvršavanje programa zaustavi.

  1. Da biste dodali točku prekida, morate kliknuti stupac tamo gdje želite da se ubaci točka prekida. Dakle, u našem slučaju želimo da se naš program zaustavi na retku koda "Response.Write". Za dodavanje točke prekida ne trebate dodavati nijednu naredbu. Samo trebate kliknuti liniju na kojoj želite dodati točku prekida.
  2. Nakon što to učinite, primijetit ćete da se kôd označava crvenom bojom. Također, crveni mjehurić pojavljuje se u stupcu pored retka koda.

Napomena: - U aplikaciju možete dodati više točaka prekida

Korak 4) Sada morate pokrenuti svoju aplikaciju pomoću načina otklanjanja pogrešaka. U Visual Studiju odaberite opciju izbornika Otklanjanje pogrešaka-> Pokreni ispravljanje pogrešaka.

Izlaz:-

Kada sve korake izvedete ispravno, izvršenje programa će se prekinuti. Visual Studio će prijeći na točku prekida i označiti liniju koda žutom bojom.

Ako programer osjeti da je kôd netočan, izvršavanje se može zaustaviti. Tada se kôd može u skladu s tim modificirati. Da bi nastavio s programom, programer mora kliknuti tipku F5 na tipkovnici.

Što je praćenje u ASP.NET-u?

Praćenje aplikacija omogućuje provjeru rezultira li tražena stranica pogreškom. Kada je omogućeno praćenje, dodatna stranica nazvana trace.axd dodaje se u aplikaciju. (Pogledajte sliku dolje). Ova je stranica u prilogu prijave. Ova će stranica prikazati sve zahtjeve i njihov status.

Pogledajmo kako omogućiti praćenje za aplikaciju.

Korak 1) Radimo na našoj 'DemoApplication'. Otvorite datoteku web.config iz programa Solution Explorer.

Korak 2) Dodajte donji redak koda u datoteku Web.config.

Izjava o praćenju koristi se za omogućavanje praćenja aplikacije.

  • Koristi se 'requestLimit' u izrazu traga. Određuje broj zahtjeva za stranicama koji se moraju pratiti.
  • U našem primjeru dajemo ograničenje od 40. Dajemo ograničenje jer će veća vrijednost pogoršati izvedbu aplikacije.

Pokrenite "demo aplikaciju" u Visual Studiju.

Izlaz:-

Ako sada pregledate URL - http: // localhost: 53003 / trace.axd , vidjet ćete informacije za svaki zahtjev. Ovdje možete vidjeti pojavljuju li se pogreške u aplikaciji. Sljedeće vrste informacija prikazane su na gornjoj stranici

  1. Vrijeme zahtjeva za web stranicu.
  2. Naziv web stranice koja se traži.
  3. Statusni kod web zahtjeva. (statusni kod od 200 znači da je zahtjev uspješan).
  4. Pregled detalja koji dopuštate da biste vidjeli više detalja o web zahtjevu. Primjer toga prikazan je u nastavku. Jedna od važnih detaljnih informacija je informacija o zaglavlju. Te informacije pokazuju koje su informacije poslane u zaglavlju svakog web zahtjeva.

Praćenje na razini stranice

Praćenje stranica prikazuje sve opće informacije o web stranici kada se obrađuje. Ovo je korisno u otklanjanju pogrešaka ako stranica iz bilo kojeg razloga ne radi.

Visual Studio pružit će detaljne informacije o različitim aspektima stranice. Informacije poput vremena za svaku metodu koja se poziva u web zahtjevu. Na primjer, ako vaša web-aplikacija ima problema s performansama, ove informacije mogu pomoći u rješavanju problema. Te se informacije prikazuju kada se aplikacija pokrene u Visual Studiju.

Pogledajmo kako omogućiti praćenje za aplikaciju na razini stranice.

Korak 1) Radimo na našoj DemoApplication. Otvorite datoteku demo.aspx iz programa Solution Explorer

Korak 2) Dodajte donji redak koda kako biste omogućili praćenje stranica. U deklaraciji Page samo dodajte redak Trace = "true". Ovaj redak koda omogućit će praćenje na razini stranice.

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

Sada kada se prikaže web stranica Demo.aspx, dobit ćete puno informacija o stranici. Na ovoj su stranici prikazani podaci poput vremena za svaki aspekt životnog ciklusa stranice.

Rukovanje pogreškama: prikaz stranice prilagođene pogreške

U ASP.Netu možete korisnicima prikazati prilagođene stranice s pogreškama. Ako aplikacija sadrži bilo kakvu pogrešku, prilagođena stranica će prikazati tu pogrešku korisniku.

U našem primjeru prvo ćemo dodati HTML stranicu. Ova će stranica korisniku prikazati niz "Istražujemo problem". Zatim ćemo dodati nekoliko kodova pogreške na našu stranicu demo.aspx tako da se stranica s pogreškama prikaže.

Slijedimo dolje spomenute korake

Korak 1) Radimo na našoj DemoApplication. Dodajmo HTML stranicu u aplikaciju

  1. Desnom tipkom miša kliknite DemoApplication u Solution Exploreru
  2. Odaberite opciju izbornika 'Dodaj' -> HTML stranica

Korak 2) U sljedećem koraku moramo dati naziv novoj HTML stranici.

  1. Navedite naziv kao "ErrorPage".
  2. Za nastavak kliknite gumb "U redu".

Korak 3) Stranica s pogreškom automatski će se otvoriti u Visual Studiju. Ako odete u Solution Explorer, vidjet ćete da je datoteka dodana.

Dodajte retku koda "Istražujemo problem" na HTML stranicu. Ne morate zatvarati HTML datoteku prije nego što izvršite promjenu u datoteci web.config.

We are looking into the problem

Korak 4) Sada morate napraviti promjenu u datoteci web.config. Ova će promjena obavijestiti da kad god se u aplikaciji dogodi pogreška, mora se prikazati stranica s prilagođenom pogreškom.

Oznaka 'customErrors' omogućuje definiranje stranice prilagođene pogreške. Svojstvo defaultRedirect postavljeno je na naziv stranice naše prilagođene pogreške stvorene u prethodnom koraku.

Korak 5) Hajdemo sada dodati pogrešan kod na stranicu demo.aspx.cs. Otvorite ovu stranicu dvostrukim klikom na datoteku u programu Solution Explorer

Dodajte donji kod u datoteku Demo.aspx.cs.

  • Ovi retci koda dizajnirani su za čitanje redaka teksta iz datoteke.
  • Datoteka bi se trebala nalaziti u D pogonu s imenom "Example.txt".
  • Ali u našoj situaciji ova datoteka zapravo ne postoji. Dakle, ovaj će kôd rezultirati pogreškom prilikom pokretanja aplikacije.

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

Sada izvršite kod u Visual Studiju i trebali biste dobiti donji izlaz.

Izlaz:-

Gornja stranica pokazuje da je u aplikaciji pokrenuta pogreška. Kao rezultat toga, korisniku se prikazuje stranica Error.html.

ASP.NET neobrađena iznimka

Čak iu najboljim scenarijima mogu postojati slučajevi pogrešaka koje jednostavno nisu predviđene.

Pretpostavimo ako korisnik pregledava pogrešnu stranicu u aplikaciji. To je nešto što se ne može predvidjeti. U takvim slučajevima ASP.Net može korisnika preusmjeriti na errorpage.html.

Pogledajmo primjer o tome.

  • Koristit ćemo našu istu 'DemoApplication' koja ima Errorpage.html.
  • Pokušat ćemo pogledati web stranicu koja ne postoji u našoj aplikaciji.
  • U ovom slučaju trebali bismo biti preusmjereni na našu stranicu ErrorPage.html. Pogledajmo korake kako to postići.

Korak 1) Radimo na našoj DemoApplication. Otvorite datoteku Global.asax.cs iz programa Solution Explorer

NAPOMENA : Datoteka global.asax.cs koristi se za dodavanje koda koji će biti primjenjiv na svim stranicama aplikacije.

Korak 2) Dodajte donji redak koda na global.asax.cs. Ovi će se retci koristiti za provjeru pogrešaka i prikaz stranice ErrorPage.html u skladu s tim.

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

Objašnjenje koda: -

  1. Prvi redak je obrađivač događaja Application_Error. Taj se događaj poziva kad god se u aplikaciji dogodi pogreška. Imajte na umu da naziv događaja mora biti 'Application_Error'. A parametri bi trebali biti kao što je gore prikazano.
  2. Dalje, definiramo objekt klase tipa HttpException. Ovo je standardni objekt koji će sadržavati sve detalje pogreške. Zatim koristimo metodu Server.GetLastError da bismo dobili sve detalje posljednje pogreške koja se dogodila u aplikaciji.
  3. Zatim provjeravamo je li kôd pogreške posljednje pogreške 404. (Kôd pogreške 404 standardni je kôd koji se vraća kada korisnik pregleda stranicu koja nije pronađena). Zatim korisnika premještamo na stranicu ErrorPage.html ako se kôd pogreške podudara.

Sada pokrenite kôd u Visual Studiju i trebali biste dobiti donji izlaz

Izlaz:-

Pregledajte stranicu http: // localhost: 53003 / Demo1.aspx . Imajte na umu da Demo1.aspx ne postoji u našoj aplikaciji. Tada ćete dobiti donji izlaz.

Gornja stranica pokazuje da je u aplikaciji pokrenuta pogreška. Kao rezultat toga, korisniku se prikazuje stranica Error.html.

ASP.NET prijava pogrešaka

Bilježenjem pogrešaka aplikacije pomaže programeru da kasnije otkloni pogreške i riješi ih. ASP.Net ima mogućnost evidentiranja pogrešaka. To se radi u datoteci Global.asax.cs kada se pogreška uhvati. Tijekom postupka hvatanja, poruka o pogrešci može se zapisati u datoteku dnevnika.

Pogledajmo primjer o tome.

  • Koristit ćemo našu istu DemoApplication koja ima Errorpage.html.
  • Pokušat ćemo pogledati web stranicu koja ne postoji u našoj aplikaciji.
  • U ovom slučaju trebali bismo biti preusmjereni na našu stranicu ErrorPage.html.
  • A istovremeno ćemo zapisati poruku pogreške u datoteku dnevnika. Pogledajmo korake kako to postići.

Korak 1) Radimo na našoj DemoApplication. Otvorite datoteku Global.asax.cs iz programa Solution Explorer

Korak 2) Dodajte donji redak koda na global.asax.cs. Provjerit će ima li pogrešaka i u skladu s tim prikazati stranicu ErrorPage.html. Također ćemo istovremeno evidentirati detalje pogreške u datoteku nazvanu "AllErrors.txt". Za naš primjer ćemo napisati kod da bi se ova datoteka kreirala na D pogonu.

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

Objašnjenje koda: -

  1. Prvi je redak dobiti samu pogrešku pomoću metode 'Server.GetLastError'. To se zatim dodjeljuje varijabli 'exc'.
  2. Zatim stvaramo praznu varijablu niza koja se naziva 'str'. Stvarnu poruku o pogrešci dobivamo pomoću svojstva 'exc.Message'. Svojstvo exc.Message imat će točnu poruku za svaku pogrešku koja se dogodi prilikom pokretanja aplikacije. To se zatim dodjeljuje varijabli niza.
  3. Dalje, definiramo datoteku pod nazivom "AllErrrors.txt." Ovdje će se poslati sve poruke o pogreškama. Zapisujemo niz 'str' koji sadrži sve poruke o pogreškama ove datoteke.
  4. Konačno, korisnika prenosimo u datoteku ErrorPage.html.

Izlaz:-

Pregledajte stranicu http: // localhost: 53003 / Demo1.aspx . Imajte na umu da Demo1.aspx ne postoji u našoj aplikaciji. Tada ćete dobiti donji izlaz.

A istovremeno, ako otvorite datoteku "AllErrors.txt", vidjet ćete dolje navedene podatke.

Poruka pogreške tada se kasnije može proslijediti programeru u svrhu uklanjanja pogrešaka.

Sažetak

  • ASP.Net ima mogućnost za obavljanje pogrešaka i rješavanje pogrešaka.
  • Otklanjanje pogrešaka može se postići dodavanjem točaka prekida u kod. Zatim se u programu Visual Studio pokreće opcija Pokreni s otklanjanjem pogrešaka za otklanjanje pogrešaka u kodu.
  • Praćenje je mogućnost pružanja više informacija tijekom pokretanja aplikacije. To se može učiniti na razini aplikacije ili stranice.
  • Na razini stranice, kôd Trace = true mora se dodati direktivi stranice.
  • Na razini aplikacije stvara se dodatna stranica pod nazivom Trace.axd za aplikaciju. Ovo pruža sve potrebne podatke o traganju.