Trasovanie na úrovni stránky Asp.Net, ladenie, spracovanie chýb (príklad)

Obsah:

Anonim

V každej aplikácii sa chyby môžu vyskytnúť počas procesu vývoja. Je dôležité vedieť odhaliť chyby už v počiatočnom štádiu.

V Visual Studio je to možné urobiť pre aplikácie ASP.Net. Visual Studio sa používa na ladenie a má techniky spracovania chýb pre ASP.Net.

V tomto návode sa naučíte

  • Čo je ladenie v ASP.NET?
  • Čo je sledovanie v ASP.NET?
  • Sledovanie na úrovni stránky
  • Spracovanie chýb: Zobrazenie vlastnej chybovej stránky
  • ASP.NET neošetrená výnimka
  • Chyba protokolu ASP.NET

Čo je ladenie v ASP.NET?

Ladenie je proces pridávania zarážok do aplikácie. Tieto body prerušenia sa používajú na pozastavenie vykonávania spusteného programu. To umožňuje vývojárovi pochopiť, čo sa deje v programe v konkrétnom okamihu.

Zoberme si príklad programu. Program zobrazí používateľovi reťazec „Ladíme“. Predpokladajme, že keď z nejakého dôvodu spustíme aplikáciu, reťazec sa nezobrazí. Na identifikáciu problému je potrebné pridať bod prerušenia. Do riadku kódu, ktorý zobrazuje reťazec, môžeme pridať bod prerušenia. Tento bod prerušenia pozastaví vykonávanie programu. V tomto okamihu môže programátor zistiť, čo sa asi zhoršuje. Programátor podľa toho upraví program.

Tu v príklade použijeme našu „DemoApplication“, ktorá bola vytvorená v predchádzajúcich kapitolách. V nasledujúcom príklade uvidíme

  • Ako nastaviť, aby sa v ukážkovej aplikácii zobrazil reťazec.
  • Ako pridať do aplikácie hraničné hodnoty.
  • Ako ladiť aplikáciu pomocou tohto bodu prerušenia.

Krok 1) Najprv sa uistite, že máme našu webovú aplikáciu otvorenú v Visual Studio. Zaistite, aby bola DemoApplication otvorená v Visual Studio.

Krok 2) Teraz otvorte súbor Demo.aspx.cs a pridajte nasledujúci riadok kódu.

  • Práve pridávame riadok kódu Response.Write, aby sa zobrazil reťazec.
  • Keď sa aplikácia spustí, mala by vo webovom prehliadači zobraziť reťazec „Ladíme“.

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

Krok 3) Teraz pridajme bod prerušenia. Bod prerušenia je bod v aplikácii Visual Studio, kde chcete zastaviť vykonávanie programu.

  1. Ak chcete pridať bod prerušenia, musíte kliknúť na stĺpec, do ktorého chcete bod prerušenia vložiť. V našom prípade teda chceme, aby sa náš program zastavil na kódovom riadku „Response.Write“. Ak chcete pridať bod prerušenia, nemusíte pridávať žiadny príkaz. Musíte len kliknúť na riadok, do ktorého chcete pridať bod prerušenia.
  2. Po dokončení si všimnete, že kód je označený červenou farbou. V stĺpci vedľa riadku s kódom sa tiež objaví červená bublina.

Poznámka: - V aplikácii môžete pridať viac zarážok

Krok 4) Teraz musíte svoju aplikáciu spustiť pomocou režimu ladenia. V Visual Studio vyberte možnosť ponuky Debug-> Spustiť ladenie.

Výkon:-

Ak vykonáte všetky kroky správne, vykonanie programu sa preruší. Visual Studio prejde na zarážku a označí riadok kódu žltou farbou.

Teraz, ak má programátor pocit, že je kód nesprávny, je možné spustenie zastaviť. Kód potom možno zodpovedajúcim spôsobom upraviť. Aby program mohol pokračovať, musí kliknúť na tlačidlo F5 na klávesnici.

Čo je sledovanie v ASP.NET?

Sledovanie aplikácií umožňuje človeku zistiť, či niektoré z požadovaných stránok nevedú k chybe. Keď je sledovanie povolené, do aplikácie sa pridá ďalšia stránka s názvom trace.axd. (Pozri obrázok nižšie). Táto stránka je pripojená k žiadosti. Na tejto stránke sa zobrazia všetky žiadosti a ich stav.

Pozrime sa, ako povoliť sledovanie aplikácie.

Krok 1) Poďme pracovať na našej „DemoApplication“. Otvorte súbor web.config z Prieskumníka riešení.

Krok 2) Pridajte nasledujúci riadok kódu do súboru Web.config.

Príkaz sledovania sa používa na povolenie sledovania aplikácie.

  • V príkaze sledovania sa používa parameter „requestLimit“. Určuje počet požiadaviek na stránku, ktoré je potrebné vysledovať.
  • V našom príklade dávame limit 40. Dávame limit, pretože vyššia hodnota zníži výkon aplikácie.

Spustite „demoaplikáciu“ v Visual Studio.

Výkon:-

Ak teraz prechádzate na adresu URL - http: // localhost: 53003 / trace.axd , zobrazia sa informácie o každej žiadosti. Tu môžete zistiť, či sa v aplikácii vyskytujú chyby. Nasledujúce typy informácií sú zobrazené na stránke vyššie

  1. Čas žiadosti o webovú stránku.
  2. Názov požadovanej webovej stránky.
  3. Stavový kód webovej požiadavky. (stavový kód 200 znamená, že požiadavka bola úspešná).
  4. The View details which you allow to view more details about the web request. Nižšie je uvedený príklad. Jednou z dôležitých podrobných informácií, ktoré sú poskytované, sú informácie o hlavičke. Tieto informácie ukazujú, aké sú informácie odoslané v hlavičke každej webovej požiadavky.

Sledovanie na úrovni stránky

Sledovanie stránky zobrazuje všetky všeobecné informácie o webovej stránke pri jej spracovaní. To je užitočné pri ladení, ak stránka z nejakého dôvodu nefunguje.

Visual Studio poskytne podrobné informácie o rôznych aspektoch stránky. Informácie, ako napríklad čas pre každú metódu, ktorá sa volá vo webovej žiadosti. Napríklad ak má vaša webová aplikácia problém s výkonom, tieto informácie môžu pomôcť pri ladení problému. Tieto informácie sa zobrazia, keď je aplikácia spustená v Visual Studio.

Pozrime sa, ako povoliť sledovanie aplikácie na úrovni stránky.

Krok 1) Poďme pracovať na našej DemoApplication. Otvorte súbor demo.aspx z aplikácie Solution Explorer

Krok 2) Pridajte nasledujúci riadok kódu, aby ste povolili sledovanie stránky. V deklarácii stránky stačí pridať riadok Trace = "true". Tento riadok kódu umožní sledovanie na úrovni stránky.

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

Teraz, keď sa zobrazí webová stránka Demo.aspx, získate o tejto stránke množstvo informácií. Na tejto stránke sa zobrazujú informácie, ako napríklad čas pre každý aspekt životného cyklu stránky.

Spracovanie chýb: Zobrazenie vlastnej chybovej stránky

V ASP.Net môžete používateľom zobrazovať vlastné chybové stránky. Ak aplikácia obsahuje akýkoľvek druh chyby, na vlastnej stránke sa táto chyba zobrazí používateľovi.

V našom príklade najskôr pridáme stránku HTML. Táto stránka zobrazí používateľovi reťazec „Hľadáme problém“. Potom na našu stránku demo.aspx pridáme nejaký chybový kód, aby sa zobrazila chybová stránka.

Postupujme podľa nižšie uvedených krokov

Krok 1) Poďme pracovať na našej DemoApplication. Pridajme do aplikácie stránku HTML

  1. Pravým tlačidlom myši kliknite na DemoApplication v aplikácii Solution Explorer
  2. Vyberte možnosť ponuky „Pridať“ -> Stránka HTML

Krok 2) V ďalšom kroku musíme zadať názov novej stránky HTML.

  1. Zadajte názov ako „ErrorPage“.
  2. Pokračujte kliknutím na tlačidlo „OK“.

Krok 3) Chybová stránka sa automaticky otvorí v Visual Studio. Ak prejdete do Prieskumníka riešení, uvidíte pridaný súbor.

Na stránku HTML pridajte kódový riadok „Hľadáme problém“. Pred vykonaním zmeny v súbore web.config nemusíte zavrieť súbor HTML.

We are looking into the problem

Krok 4) Teraz musíte vykonať zmenu v súbore web.config. Táto zmena upozorní, že kedykoľvek sa v aplikácii vyskytne chyba, musí sa zobraziť stránka s vlastnou chybou.

Značka „customErrors“ umožňuje definovať vlastnú chybovú stránku. Vlastnosť defaultRedirect je nastavená na názov našej vlastnej chybovej stránky vytvorenej v predchádzajúcom kroku.

Krok 5) Teraz poďme pridať nejaký chybný kód na stránku demo.aspx.cs. Túto stránku otvoríte dvojitým kliknutím na súbor v aplikácii Solution Explorer

Pridajte nasledujúci kód do súboru Demo.aspx.cs.

  • Tieto riadky kódu sú určené na čítanie riadkov textu zo súboru.
  • Súbor má byť umiestnený na disku D s názvom „Example.txt“.
  • Ale v našej situácii tento súbor v skutočnosti neexistuje. Takže tento kód bude mať za následok chybu pri spustení aplikácie.

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

Teraz spustite kód v Visual Studiu a mali by ste získať výstup uvedený nižšie.

Výkon:-

Vyššie uvedená stránka ukazuje, že v aplikácii došlo k chybe. Vo výsledku sa používateľovi zobrazí stránka Error.html.

ASP.NET neošetrená výnimka

Aj pri najlepšom scenári môžu nastať prípady chýb, ktoré sa len tak nevidia.

Predpokladajme, že ak používateľ v aplikácii prejde na nesprávnu stránku. To sa nedá predvídať. V takýchto prípadoch môže stránka ASP.Net presmerovať používateľa na stránku errorpage.html.

Pozrime sa na príklad.

  • Budeme používať rovnakú aplikáciu „DemoApplication“, ktorá má stránku Errorpage.html.
  • Pokúsime sa zobraziť webovú stránku, ktorá v našej aplikácii neexistuje.
  • V takom prípade by sme mali byť presmerovaní na našu stránku ErrorPage.html. Pozrime sa na kroky, ako to dosiahnuť.

Krok 1) Poďme pracovať na našej DemoApplication. Otvorte súbor Global.asax.cs z Prieskumníka riešení

POZNÁMKA : Súbor global.asax.cs sa používa na pridanie kódu, ktorý bude použiteľný na všetkých stránkach aplikácie.

Krok 2) Pridajte nasledujúci riadok kódu do global.asax.cs. Tieto riadky sa použijú na kontrolu chýb a zodpovedajúce zobrazenie stránky 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");}}}

Vysvetlenie kódu: -

  1. Prvý riadok je obslužná rutina udalosti Application_Error. Táto udalosť sa volá vždy, keď sa v aplikácii vyskytne chyba. Upozorňujeme, že názov udalosti musí byť „Application_Error“. A parametre by mali byť také, ako je uvedené vyššie.
  2. Ďalej definujeme objekt typu triedy HttpException. Toto je štandardný objekt, ktorý uchová všetky podrobnosti o chybe. Potom použijeme metódu Server.GetLastError na získanie všetkých podrobností o poslednej chybe, ktorá sa v aplikácii vyskytla.
  3. Potom skontrolujeme, či je chybový kód poslednej chyby 404. (Chybový kód 404 je štandardný kód, ktorý sa vráti, keď používateľ prejde na stránku, ktorá sa nenájde). Ak sa kód chyby zhoduje, používateľa potom prenesieme na stránku ErrorPage.html.

Teraz spustite kód v Visual Studio a mali by ste získať výstup uvedený nižšie

Výkon:-

Prejdite stránku http: // localhost: 53003 / Demo1.aspx . Pamätajte, že Demo1.aspx v našej aplikácii neexistuje. Potom získate nižšie uvedený výstup.

Vyššie uvedená stránka ukazuje, že v aplikácii došlo k chybe. Vo výsledku sa používateľovi zobrazí stránka Error.html.

Chyba protokolu ASP.NET

Zaznamenávaním chýb aplikácie pomáha vývojárovi ladiť a vyriešiť chybu neskôr. ASP.Net má zariadenie na zaznamenávanie chýb. To sa deje v súbore Global.asax.cs, keď sa chyba zachytí. Počas procesu snímania je možné chybové hlásenie zapísať do súboru denníka.

Pozrime sa na príklad.

  • Budeme používať rovnakú DemoApplication, ktorá má Errorpage.html.
  • Pokúsime sa zobraziť webovú stránku, ktorá v našej aplikácii neexistuje.
  • V takom prípade by sme mali byť presmerovaní na našu stránku ErrorPage.html.
  • A zároveň napíšeme chybové hlásenie do logovacieho súboru. Pozrime sa na kroky, ako to dosiahnuť.

Krok 1) Poďme pracovať na našej DemoApplication. Otvorte súbor Global.asax.cs z Prieskumníka riešení

Krok 2) Pridajte nasledujúci riadok kódu do global.asax.cs. Skontroluje chyby a podľa toho zobrazí stránku ErrorPage.html. Zároveň tiež zaznamenáme podrobnosti o chybe do súboru s názvom „AllErrors.txt“. Pre náš príklad napíšeme kód, aby sme tento súbor vytvorili na jednotke 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");}}}

Vysvetlenie kódu: -

  1. Prvý riadok je získať samotnú chybu pomocou metódy „Server.GetLastError“. Toto sa potom priradí k premennej „exc“.
  2. Potom vytvoríme prázdnu premennú reťazca s názvom 'str'. Skutočnú chybovú správu dostaneme pomocou vlastnosti „exc.Message“. Vlastnosť exc.Message bude mať presnú správu o akejkoľvek chybe, ktorá sa vyskytne pri spustení aplikácie. To sa potom priradí k premennej reťazca.
  3. Ďalej definujeme súbor s názvom „AllErrrors.txt“. Toto je miesto, kam sa odošlú všetky chybové správy. Do tohto súboru napíšeme reťazec „str“, ktorý obsahuje všetky chybové správy.
  4. Nakoniec používateľa prenesieme do súboru ErrorPage.html.

Výkon:-

Prejdite stránku http: // localhost: 53003 / Demo1.aspx . Pamätajte, že Demo1.aspx v našej aplikácii neexistuje. Potom získate nižšie uvedený výstup.

A zároveň, ak otvoríte súbor „AllErrors.txt“, uvidíte nižšie uvedené informácie.

Chybová správa sa potom môže neskôr odoslať vývojárovi na účely ladenia.

Zhrnutie

  • ASP.Net má zariadenie na vykonávanie ladenia a spracovania chýb.
  • Ladenie je možné dosiahnuť pridaním bodov prerušenia do kódu. Jeden potom spustí voľbu Spustiť s ladením v Visual Studio na ladenie kódu.
  • Sledovanie je zariadenie, ktoré poskytuje viac informácií pri spustení aplikácie. To je možné vykonať na úrovni aplikácie alebo stránky.
  • Na úrovni stránky je potrebné do smernice o stránke pridať kód Trace = true.
  • Na úrovni aplikácie sa pre aplikáciu vytvorí ďalšia stránka s názvom Trace.axd. Toto poskytuje všetky potrebné informácie o sledovaní.