Asp.Net sledenje na ravni strani, odpravljanje napak, ravnanje z napakami (primer)

Kazalo:

Anonim

V kateri koli aplikaciji se bodo med razvojnim postopkom zagotovo pojavile napake. Pomembno je, da lahko napake odkrijemo že v zgodnji fazi.

V Visual Studio je to mogoče storiti za aplikacije ASP.Net. Visual Studio se uporablja za odpravljanje napak in ima tehnike obdelave napak za ASP.Net.

V tej vadnici boste izvedeli-

  • Kaj je odpravljanje napak v ASP.NET?
  • Kaj je sledenje v ASP.NET?
  • Sledenje ravni strani
  • Obravnava napak: prikaz strani z napakami po meri
  • Neobdelana izjema ASP.NET
  • Dnevnik napak ASP.NET

Kaj je odpravljanje napak v ASP.NET?

Odpravljanje napak je postopek dodajanja mejnih vrednosti v aplikacijo. Te prekinitvene točke se uporabljajo za zaustavitev izvajanja delujočega programa. To razvijalcu omogoča razumevanje dogajanja v programu v določenem trenutku.

Vzemimo primer programa. Program uporabniku prikaže niz "Odpravljamo napake". Recimo, da iz nekega razloga niz, ki ga zaženemo, ni prikazan. Da bi prepoznali težavo, moramo dodati prelomno točko. V kodno vrstico, ki prikazuje niz, lahko dodamo prelomno točko. Ta prekinitev bo zaustavila izvajanje programa. Na tej točki lahko programer vidi, kaj gre narobe. Programer program ustrezno popravi.

Tukaj v primeru bomo uporabili našo "DemoApplication", ki je bila ustvarjena v prejšnjih poglavjih. V naslednjem primeru bomo videli

  • Kako narediti, da predstavitvena aplikacija prikaže niz.
  • Kako aplikaciji dodati mejne točke.
  • Kako odpraviti napake v aplikaciji s to točko preloma.

1. korak: Najprej zagotovimo, da je naša spletna aplikacija odprta v Visual Studio. Prepričajte se, da je aplikacija DemoApplication odprta v Visual Studio.

Korak 2) Zdaj odprite datoteko Demo.aspx.cs in dodajte spodnjo vrstico kode.

  • Pravkar dodajamo kodno vrstico Response.Write, da se prikaže niz.
  • Torej, ko se aplikacija zažene, mora v spletnem brskalniku prikazati niz »Odpravljamo napake«.

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) Zdaj pa dodajte mejno točko. Točka preloma je točka v Visual Studio, kjer želite, da se izvajanje programa ustavi.

  1. Če želite dodati točko prekinitve, morate klikniti stolpec, kamor želite vstaviti točko prekinitve. Torej v našem primeru želimo, da se naš program ustavi v kodni vrstici "Response.Write". Za dodajanje točke odmora vam ni treba dodati nobenega ukaza. Preprosto kliknite na vrstico, na kateri želite dodati točko prekinitve.
  2. Ko to storite, boste opazili, da je koda označena z rdečo. Prav tako se v stolpcu poleg vrstice kode prikaže rdeč mehurček.

Opomba: - V aplikacijo lahko dodate več mejnih točk

Korak 4) Zdaj morate zagnati aplikacijo v načinu za odpravljanje napak. V Visual Studio izberite menijsko možnost Odpravljanje napak-> Začni odpravljanje napak.

Izhod: -

Ko pravilno izvedete vse korake, se bo izvajanje programa prekinilo. Visual Studio bo šel do točke preloma in vrstico kode označil z rumeno.

Zdaj, če programer meni, da je koda napačna, se lahko izvajanje ustavi. Nato lahko kodo ustrezno spremenite. Če želite nadaljevati s programom, mora programer klikniti gumb F5 na tipkovnici.

Kaj je sledenje v ASP.NET?

Sledenje aplikacijam omogoča, da ugotovi, ali katera od zahtevanih strani povzroči napako. Ko je sledenje omogočeno, se v aplikacijo doda dodatna stran z imenom trace.axd. (Glej sliko spodaj). Ta stran je priložena vlogi. Na tej strani bodo prikazane vse zahteve in njihov status.

Poglejmo, kako omogočiti sledenje za aplikacijo.

Korak 1) Delajmo na naši "DemoApplication". Odprite datoteko web.config iz raziskovalca rešitev.

Korak 2) V datoteko Web.config dodajte spodnjo vrstico kode.

Stavek sledenja se uporablja za omogočanje sledenja za aplikacijo.

  • Uporabi se 'requestLimit' v stavku sledenja. Določa število zahtev strani, ki jim je treba slediti.
  • V našem primeru podajamo omejitev 40. Omejimo, ker bo višja vrednost poslabšala delovanje aplikacije.

Zaženite "demo aplikacijo" v Visual Studio.

Izhod: -

Če zdaj poiščete URL - http: // localhost: 53003 / trace.axd , boste videli informacije za vsako zahtevo. Tu lahko vidite, ali se v aplikaciji pojavijo napake. Na zgornji strani so prikazane naslednje vrste informacij

  1. Čas zahteve za spletno stran.
  2. Ime zahtevane spletne strani.
  3. Koda stanja spletne zahteve. (statusna koda 200 pomeni, da je bila zahteva uspešna).
  4. Ogled podrobnosti, ki vam omogoča ogled več podrobnosti o spletni zahtevi. Primer tega je prikazan spodaj. Pomembne podrobne informacije so informacije o glavi. Te informacije kažejo, katere so informacije, poslane v glavi vsake spletne zahteve.

Sledenje ravni strani

Sledenje strani prikazuje vse splošne informacije o spletni strani, ko je ta v obdelavi. To je koristno pri odpravljanju napak, če stran iz kakršnega koli razloga ne deluje.

Visual Studio bo zagotovil podrobne informacije o različnih vidikih strani. Podatki, kot je čas za vsako metodo, ki je poklicana v spletni zahtevi. Če ima vaša spletna aplikacija na primer težavo z zmogljivostjo, lahko te informacije pomagajo pri odpravljanju težav. Te informacije se prikažejo, ko se aplikacija zažene v Visual Studio.

Poglejmo, kako omogočiti sledenje za aplikacijo na ravni strani.

1. korak: Delajmo na naši DemoApplication. Odprite datoteko demo.aspx iz raziskovalca rešitev

Korak 2) Dodajte spodnjo vrstico kode, da omogočite sledenje strani. V izjavi Page preprosto dodajte vrstico Trace = "true". Ta vrstica kode omogoča sledenje na ravni strani.

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

Zdaj, ko se prikaže spletna stran Demo.aspx, boste dobili veliko informacij o tej strani. Na tej strani so prikazani podatki, kot je čas za vsak vidik življenjskega cikla strani.

Obravnava napak: prikaz strani z napakami po meri

V ASP.Net lahko uporabnikom prikažete strani z napakami po meri. Če aplikacija vsebuje kakršno koli napako, bo stran po meri to napako prikazala uporabniku.

V našem primeru bomo najprej dodali stran HTML. Na tej strani bo uporabniku prikazan niz "Preučujemo težavo". Nato bomo na našo stran demo.aspx dodali nekaj kode napake, da bo prikazana stran z napako.

Sledimo spodnjim korakom

1. korak: Delajmo na naši DemoApplication. V aplikacijo dodajte stran HTML

  1. Z desno miškino tipko kliknite DemoApplication v raziskovalcu rešitev
  2. Izberite možnost menija 'Dodaj' -> HTML stran

Korak 2) V naslednjem koraku moramo navesti ime nove strani HTML.

  1. Vnesite ime kot »ErrorPage«.
  2. Za nadaljevanje kliknite gumb »V redu«.

Korak 3) Stran z napakami se bo samodejno odprla v Visual Studio. Če odprete Solution Explorer, bo datoteka dodana.

Na stran HTML dodajte vrstico kode "Iščemo težavo". Pred spreminjanjem datoteke web.config vam ni treba zapreti datoteke HTML.

We are looking into the problem

Korak 4) Zdaj morate spremeniti datoteko web.config. Ta sprememba bo obvestila, da je treba vsakič, ko pride do napake v aplikaciji, prikazati stran z napako po meri.

Oznaka 'customErrors' omogoča definiranje strani z napako po meri. Lastnost defaultRedirect je nastavljena na ime strani naše napake po meri, ustvarjene v prejšnjem koraku.

Korak 5) Zdaj na stran demo.aspx.cs dodajte nekaj okvarjene kode. Odprite to stran z dvojnim klikom na datoteko g v Raziskovalcu rešitev

V datoteko Demo.aspx.cs dodajte spodnjo kodo.

  • Te vrstice kode so namenjene branju vrstic besedila iz datoteke.
  • Datoteka naj bi bila v pogonu D z imenom "Example.txt."
  • Toda v naših razmerah ta datoteka v resnici ne obstaja. Torej bo ta koda povzročila napako med zagonom 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);}}}

Zdaj zaženite kodo v Visual Studio in dobili bi spodnji izhod.

Izhod: -

Zgornja stran prikazuje, da je bila v aplikaciji sprožena napaka. Posledično se uporabniku prikaže stran Error.html.

Neobdelana izjema ASP.NET

Tudi v najboljših scenarijih lahko obstajajo primeri napak, ki pa preprosto niso predvidene.

Recimo, če uporabnik brska na napačni strani v aplikaciji. To je nekaj, česar ni mogoče predvideti. V takih primerih lahko ASP.Net uporabnika preusmeri na errorpage.html.

Oglejmo si primer o tem.

  • Uporabili bomo isto "DemoApplication", ki vsebuje Errorpage.html.
  • In poskušali si bomo ogledati spletno stran, ki v naši aplikaciji ne obstaja.
  • V tem primeru bi morali biti preusmerjeni na našo stran ErrorPage.html. Poglejmo korake, kako to doseči.

1. korak: Delajmo na naši DemoApplication. Odprite datoteko Global.asax.cs iz raziskovalca rešitev

OPOMBA : Datoteka global.asax.cs se uporablja za dodajanje kode, ki bo veljavna na vseh straneh aplikacije.

Korak 2) Spodnjo vrstico kode dodajte v global.asax.cs. Te vrstice bodo uporabljene za preverjanje napak in ustrezno prikaz strani ErrorPage.html.

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

Pojasnilo kode: -

  1. Prva vrstica je obravnavalec dogodkov Application_Error. Ta dogodek se pokliče vsakič, ko pride do napake v aplikaciji. Ime dogodka mora biti "Application_Error". Parametri naj bodo takšni, kot je prikazano zgoraj.
  2. Nato definiramo objekt tipa razreda HttpException. To je standardni objekt, ki vsebuje vse podrobnosti o napaki. Nato z metodo Server.GetLastError dobimo vse podrobnosti o zadnji napaki, ki se je zgodila v aplikaciji.
  3. Nato preverimo, ali je koda napake zadnje napake 404. (Koda napake 404 je standardna koda, ki se vrne, ko uporabnik brska po strani, ki je ni mogoče najti). Nato uporabnika prenesemo na stran ErrorPage.html, če se koda napake ujema.

Zdaj zaženite kodo v Visual Studio in dobili bi spodnji izhod

Izhod: -

Prebrskajte stran http: // localhost: 53003 / Demo1.aspx . Ne pozabite, da Demo1.aspx v naši aplikaciji ne obstaja. Nato boste dobili spodnji izhod.

Zgornja stran prikazuje, da je bila v aplikaciji sprožena napaka. Posledično se uporabniku prikaže stran Error.html.

Dnevnik napak ASP.NET

Z beleženjem napak aplikacije razvijalcu pomaga, da napako odpravi in ​​reši pozneje. ASP.Net ima možnost beleženja napak. To se naredi v datoteki Global.asax.cs, ko je napaka zajeta. Med postopkom zajemanja lahko sporočilo o napaki zapišete v datoteko dnevnika.

Oglejmo si primer o tem.

  • Uporabili bomo našo isto aplikacijo DemoApplication, ki vsebuje Errorpage.html.
  • In poskušali si bomo ogledati spletno stran, ki v naši aplikaciji ne obstaja.
  • V tem primeru bi morali biti preusmerjeni na našo stran ErrorPage.html.
  • Hkrati bomo sporočilo o napaki zapisali v dnevniško datoteko. Poglejmo korake, kako to doseči.

1. korak: Delajmo na naši DemoApplication. Odprite datoteko Global.asax.cs iz raziskovalca rešitev

Korak 2) Spodnjo vrstico kode dodajte v global.asax.cs. Preveril bo napake in ustrezno prikazal stran ErrorPage.html. Hkrati bomo podrobnosti o napaki zabeležili v datoteko z imenom »AllErrors.txt«. Za naš primer bomo napisali kodo, da bo ta datoteka ustvarjena na pogonu 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");}}}

Pojasnilo kode: -

  1. Prva vrstica je, da s pomočjo metode "Server.GetLastError" dobite napako. To se nato dodeli spremenljivki 'exc'.
  2. Nato ustvarimo prazno spremenljivko niza, imenovano 'str'. Dejansko sporočilo o napaki dobimo z lastnostjo 'exc.Message'. Lastnost exc.Message bo imela natančno sporočilo o vsaki napaki, ki se pojavi med zagonom aplikacije. To se nato dodeli spremenljivki niza.
  3. Nato določimo datoteko z imenom "AllErrrors.txt." Tu bodo poslana vsa sporočila o napakah. Zapišemo niz 'str', ki vsebuje vsa sporočila o napakah te datoteke.
  4. Na koncu uporabnika prenesemo v datoteko ErrorPage.html.

Izhod: -

Prebrskajte stran http: // localhost: 53003 / Demo1.aspx . Ne pozabite, da Demo1.aspx v naši aplikaciji ne obstaja. Nato boste dobili spodnji izhod.

Če hkrati odprete datoteko »AllErrors.txt«, boste videli spodnje informacije.

Sporočilo o napaki lahko nato kasneje posreduje razvijalcu za namene odpravljanja napak.

Povzetek

  • ASP.Net ima možnost izvajanja odpravljanja napak in obdelave napak.
  • Odpravljanje napak je mogoče doseči z dodajanjem mejnih točk kodi. Nato v Visual Studio zaženemo možnost Začni z odpravljanjem napak, da odstraniš kodo.
  • Sledenje je sredstvo za zagotavljanje več informacij med izvajanjem aplikacije. To lahko storite na ravni aplikacije ali strani.
  • Na ravni strani je treba direktivi o strani dodati kodo Trace = true.
  • Na ravni aplikacije se za aplikacijo ustvari dodatna stran z imenom Trace.axd. To zagotavlja vse potrebne informacije o sledenju.