Asp.Neti lehe taseme jälgimine, silumine, tõrkeotsing (näide)

Lang L: none (table-of-contents):

Anonim

Igas rakenduses ilmnevad arendusprotsessi käigus kindlasti vead. Tähtis on osata vigu varakult avastada.

Visual Studios on seda võimalik teha ASP.Neti rakenduste jaoks. Visual Studiot kasutatakse silumiseks ja sellel on ASP.Neti jaoks tõrkeotsingu tehnikad.

Selles õpetuses saate teada

  • Mis on silumine ASP.NET-is?
  • Mis on jälgimine ASP.NET-is?
  • Lehe taseme jälgimine
  • Veakäsitlus: kohandatud tõrke lehe kuvamine
  • ASP.NET käsitlemata erand
  • ASP.NET tõrge logimisel

Mis on silumine ASP.NET-is?

Silumine on rakendusele katkestuspunktide lisamise protsess. Neid katkestuspunkte kasutatakse töötava programmi käivitamise peatamiseks. See võimaldab arendajal mõista, mis programmis konkreetsel ajahetkel toimub.

Võtame programmi näite. Programm kuvab kasutajale stringi "Me silume". Oletame, et kui me rakendust käitame, siis stringi mingil põhjusel ei kuvata. Probleemi tuvastamiseks peame lisama murdepunkti. Stringi kuvavale koodireale saame lisada katkestuspunkti. See katkestuspunkt peatab programmi käivitamise. Sel hetkel saab programmeerija näha, mis võib valesti minna. Programmeerija parandab programmi vastavalt.

Siin näites kasutame oma varasemates peatükkides loodud "DemoApplicationit". Järgmises näites näeme

  • Kuidas panna demorakendus näitama stringi.
  • Kuidas rakendusele katkestuspunkte lisada.
  • Kuidas seda katkestuspunkti kasutades rakendust siluda.

1. samm. Veendume kõigepealt, et meie veebirakendus oleks Visual Studios avatud. Veenduge, et DemoApplication oleks Visual Studios avatud.

Samm 2) Nüüd avage fail Demo.aspx.cs ja lisage allpool koodirida.

  • Lisame lihtsalt koodirea Response. Kirjutage stringi kuvamiseks.
  • Nii et kui rakendus käivitub, peaks see veebibrauseris kuvama stringi "Me silume".

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

Samm 3) Lisame nüüd murdepunkti. Katkestuspunkt on Visual Studio punkt, kus soovite, et programmi täitmine peatuks.

  1. Murdepunkti lisamiseks peate klõpsama veergu, kuhu soovite katkestuspunkti lisada. Nii et meie puhul tahame, et meie programm peatuks koodireal "Response.Write". Murdepunkti lisamiseks pole vaja käske lisada. Peate lihtsalt klõpsama real, millele soovite katkestuspunkti lisada.
  2. Kui see on tehtud, märkate, et kood märgitakse punasega. Samuti ilmub koodirea kõrval olevasse veergu punane mull.

Märkus. - Rakendusse saate lisada mitu katkestuspunkti

Samm 4) Nüüd peate oma rakenduse käivitama silumisrežiimi abil. Valige Visual Studios menüüvalik Silumine-> Alusta silumist.

Väljund: -

Kui teete kõik toimingud õigesti, katkeb programmi täitmine. Visual Studio läheb murdepunkti juurde ja märgib koodirea kollasega.

Kui nüüd programmeerija tunneb, et kood on vale, saab käivitamise peatada. Seejärel saab koodi vastavalt muuta. Programmi jätkamiseks peab programmeerija klõpsama klaviatuuril nuppu F5.

Mis on jälgimine ASP.NET-is?

Rakenduse jälgimine võimaldab näha, kas mõni taotletud leht põhjustab viga. Kui jälgimine on lubatud, lisatakse rakendusse täiendav leht nimega trace.axd. (Vaata pilti allpool). See leht on lisatud rakendusele. Sellel lehel kuvatakse kõik taotlused ja nende olek.

Vaatame, kuidas rakenduse jälgimine lubada.

1. samm . Töötame oma 'DemoApplication'iga. Avage fail Exploreri lahenduses veebi.config.

Samm 2) Lisage allolev koodirida faili Web.config.

Jälgimislauset kasutatakse rakenduse jälgimise lubamiseks.

  • Kasutatakse jäljendis "requestLimit". See määrab jälgitavate lehetaotluste arvu.
  • Meie näites anname limiidi 40. Anname piiri, kuna suurem väärtus halvendab rakenduse toimivust.

Käivitage Visual Studio "demoapplication".

Väljund: -

Kui sirvite nüüd URL-i - http: // localhost: 53003 / trace.axd , näete iga päringu teavet. Siit saate vaadata, kas rakenduses esineb vigu. Ülaltoodud lehel kuvatakse järgmist tüüpi teavet

  1. Veebilehe taotlemise aeg.
  2. Taotletava veebilehe nimi.
  3. Veebipäringu olekukood. (olekukood 200 tähendab, et taotlus on edukas).
  4. Kuva üksikasjad, mille lubate veebipäringu üksikasjade kuvamiseks. Selle näide on toodud allpool. Üks oluline üksikasjalik teave on päise teave. See teave näitab, milline on iga veebipäringu päises saadetud teave.

Lehe taseme jälgimine

Lehe jälgimine näitab kogu üldist teavet veebilehe töötlemise ajal. See on kasulik silumisel, kui leht mingil põhjusel ei tööta.

Visual Studio pakub üksikasjalikku teavet lehe erinevate aspektide kohta. Selline teave nagu iga veebipäringus kutsutava meetodi aeg. Näiteks kui teie veebirakendusel on toimivusprobleem, võib see teave aidata probleemi silumisel. See teave kuvatakse, kui rakendus töötab Visual Studios.

Vaatame, kuidas lubada rakenduse jälgimine lehe tasemel.

1. samm) töötame oma DemoApplicationi kallal. Avage fail Demo.aspx Solution Exploreris

2. samm. Lisage lehe jälgimise lubamiseks allpool koodirida. Lisage lehe deklaratsioonis lihtsalt rida Trace = "true". See koodirida võimaldab lehe taseme jälgimist.

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

Nüüd, kui kuvatakse veebileht Demo.aspx, saate selle lehe kohta palju teavet. Sellel lehel kuvatakse teave, näiteks lehe elutsükli iga aspekti aeg.

Veakäsitlus: kohandatud tõrke lehe kuvamine

ASP.Netis saate lasta kasutajatele kuvada kohandatud tõrke lehti. Kui rakendus sisaldab mingisugust viga, kuvab kasutajale selle tõrke kohandatud leht.

Meie näites lisame kõigepealt HTML-i lehe. Sellel lehel kuvatakse kasutajale string "Otsime probleemi". Seejärel lisame veateate oma lehele demo.aspx, nii et vealeht oleks kuvatud.

Järgime allpool nimetatud samme

1. samm) töötame oma DemoApplicationi kallal. Lisame rakendusele HTML-lehe

  1. Paremklõpsake Solution Exploreris DemoApplication
  2. Valige menüüvalik 'Lisa' -> HTML-leht

2. samm. Järgmises etapis peame andma uuele HTML-lehele nime.

  1. Sisestage nimi nimega 'ErrorPage'.
  2. Jätkamiseks klõpsake nuppu OK.

Samm 3) Vealeht avaneb Visual Studios automaatselt. Kui lähete lahenduste Explorerisse, näete faili lisatud.

Lisage HTML-lehele koodirida "Otsime probleemi". Enne faili web.config muutmist ei pea te HTML-faili sulgema.

We are looking into the problem

Samm 4) Nüüd peate failis web.config muutma. See muudatus annab teada, et kui rakenduses ilmneb tõrge, tuleb kuvada kohandatud tõrke leht.

Märgend „customErrors” võimaldab määratleda kohandatud tõrke lehe. Atribuudi defaultRedirect väärtuseks määratakse eelmises etapis loodud kohandatud tõrke lehe nimi.

Samm 5) Nüüd lisame lehele demo.aspx.cs mõne vigase koodi. Avage see leht, topeltklõpsates failil Solution Exploreris

Lisage allolev kood faili Demo.aspx.cs.

  • Need koodiread on mõeldud failist tekstiridade lugemiseks.
  • Fail peaks asuma D-draivis nimega "Example.txt".
  • Kuid meie olukorras pole seda faili tegelikult olemas. Nii et selle koodi tulemuseks on viga, kui rakendus töötab.

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

Nüüd käivitage Visual Studio'is kood ja peaksite saama allpool oleva väljundi.

Väljund: -

Ülaltoodud leht näitab, et rakenduses käivitati viga. Selle tulemusena kuvatakse kasutajale leht Error.html.

ASP.NET käsitlemata erand

Isegi parimate stsenaariumide korral võib esineda vigu, mida lihtsalt ei näe ette.

Oletame, et kui kasutaja sirvib rakenduses valele lehele. See on midagi, mida ei saa ennustada. Sellistel juhtudel saab ASP.Net suunata kasutaja aadressile errorpage.html.

Vaatame selle kohta näidet.

  • Kasutame oma sama 'DemoApplication', millel on Errorpage.html.
  • Ja proovime vaadata veebisaiti, mida meie rakenduses pole.
  • Sel juhul tuleks meid suunata meie lehele ErrorPage.html. Vaatame samme selle saavutamiseks.

1. samm) töötame oma DemoApplicationi kallal. Avage lahendus Exploreris fail Global.asax.cs

MÄRKUS . Faili global.asax.cs kasutatakse koodi lisamiseks, mis on rakenduse kõikidel lehtedel rakendatav.

Samm 2) Lisage allolev koodirida saidile global.asax.cs. Neid ridu kasutatakse vigade kontrollimiseks ja vastavalt lehe ErrorPage.html kuvamiseks.

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

Koodi selgitus: -

  1. Esimene rida on sündmuste käitleja Application_Error. Seda sündmust kutsutakse alati, kui rakenduses ilmneb tõrge. Pange tähele, et sündmuse nimi peab olema „Application_Error”. Ja parameetrid peaksid olema nagu eespool näidatud.
  2. Järgmisena määratleme klassi tüüpi HttpException objekti. See on standardobjekt, mis sisaldab kõiki vea üksikasju. Seejärel kasutame meetodit Server.GetLastError, et saada kõik rakenduses ilmnenud viimase tõrke üksikasjad.
  3. Seejärel kontrollime, kas viimase tõrke veakood on 404. (Veakood 404 on standardkood, mis tagastatakse siis, kui kasutaja sirvib lehte, mida ei leitud). Seejärel edastame kasutaja veakoodi kokkulangemisel lehele ErrorPage.html.

Nüüd käivitage Visual Studios kood ja peaksite saama allpool oleva väljundi

Väljund: -

Sirvige lehte http: // localhost: 53003 / Demo1.aspx . Pidage meeles, et Demo1.aspxi pole meie rakenduses olemas. Seejärel saate allpool toodud väljundi.

Ülaltoodud leht näitab, et rakenduses käivitati viga. Selle tulemusena kuvatakse kasutajale leht Error.html.

ASP.NET tõrge logimisel

Rakendusvigade logimisega aitab see arendajal siluda ja vea hiljem lahendada. ASP.Netil on võimalus logida vigu. Seda tehakse failis Global.asax.cs, kui viga on hõivatud. Jäädvustusprotsessi käigus saab tõrketeate logifaili kirjutada.

Vaatame selle kohta näidet.

  • Kasutame oma sama DemoApplicationit, millel on Errorpage.html.
  • Ja proovime vaadata veebisaiti, mida meie rakenduses pole.
  • Sel juhul tuleks meid suunata meie lehele ErrorPage.html.
  • Ja samal ajal kirjutame veateate logifaili. Vaatame samme selle saavutamiseks.

1. samm) töötame oma DemoApplicationi kallal. Avage lahendus Exploreris fail Global.asax.cs

Samm 2) Lisage allolev koodirida saidile global.asax.cs. See kontrollib vigu ja kuvab vastavalt lehe ErrorPage.html. Samal ajal logime vea üksikasjad faili nimega AllErrors.txt. Selle näite jaoks kirjutame koodi, et see fail D-draivi luua.

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

Koodi selgitus: -

  1. Esimene rida on tõrke ise hankimine meetodi 'Server.GetLastError' abil. Seejärel määratakse see muutujale "exc".
  2. Seejärel loome tühja stringimuutuja nimega 'str'. Tegeliku tõrketeate saame atribuudi 'exc.Message' abil. Atribuudil exc.Message on täpne teade kõigi rakenduse käitamisel ilmnenud tõrgete kohta. Seejärel määratakse see stringimuutujale.
  3. Järgmisena määratleme fail nimega 'AllErrrors.txt'. Siit saadetakse kõik veateated. Kirjutame stringi 'str', mis sisaldab kõiki selle faili tõrketeateid.
  4. Lõpuks kanname kasutaja faili ErrorPage.html.

Väljund: -

Sirvige lehte http: // localhost: 53003 / Demo1.aspx . Pidage meeles, et Demo1.aspxi pole meie rakenduses olemas. Seejärel saate allpool toodud väljundi.

Ja samal ajal, kui avate faili „AllErrors.txt”, näete allolevat teavet.

Seejärel saab veateate silumise eesmärgil arendajale hiljem edastada.

Kokkuvõte

  • ASP.Netil on võimalus silumist ja tõrkeotsingut teostada.
  • Silumist saab saavutada katkestuspunktide lisamisega koodi. Seejärel käivitab üks koodi silumiseks Visual Studio valiku Alusta silumisega.
  • Jälgimine on võimalus anda rakenduse käitamise ajal rohkem teavet. Seda saab teha rakenduse või lehe tasemel.
  • Lehe tasandil tuleb lehedirektiivi lisada kood Trace = true.
  • Rakenduse tasandil luuakse rakenduse jaoks lisaleht nimega Trace.axd. See annab kogu vajaliku jälitusteabe.