Asp.Net-sidesporing, feilsøking, feilhåndtering (eksempel)

Innholdsfortegnelse:

Anonim

I alle applikasjoner er det feil i feil under utviklingsprosessen. Det er viktig å kunne oppdage feil på et tidlig stadium.

I Visual Studio er det mulig å gjøre dette for ASP.Net-applikasjoner. Visual Studio brukes til feilsøking og har feilhåndteringsteknikker for ASP.Net.

I denne veiledningen vil du lære-

  • Hva er feilsøking i ASP.NET?
  • Hva er sporing i ASP.NET?
  • Sporing av sidenivå
  • Feilhåndtering: Vise en tilpasset feilside
  • ASP.NET unhandled Unntak
  • ASP.NET Feillogging

Hva er feilsøking i ASP.NET?

Feilsøking er prosessen med å legge til brytepunkter i et program. Disse brytepunktene brukes til å stoppe utførelsen av et igangværende program. Dette gjør at utvikleren kan forstå hva som skjer i et program på et bestemt tidspunkt.

La oss ta et eksempel på et program. Programmet viser en streng "Vi feilsøker" til brukeren. Anta at når vi kjører applikasjonen, av en eller annen grunn, vises ikke strengen. For å identifisere problemet må vi legge til et bruddpunkt. Vi kan legge til et brytpunkt i kodelinjen som viser strengen. Dette bruddpunktet vil stoppe gjennomføringen av programmet. På dette punktet kan programmereren se hva som muligens går galt. Programmereren korrigerer programmet deretter.

Her i eksemplet vil vi bruke 'DemoApplication' som ble opprettet i tidligere kapitler. I det følgende eksemplet vil vi se

  • Hvordan få demo-applikasjonen til å vise en streng.
  • Hvordan legge til bruddpunkter i et program.
  • Hvordan feilsøke applikasjonen ved hjelp av dette brytpunktet.

Trinn 1) La oss først sørge for at webapplikasjonen vår er åpen i Visual Studio. Forsikre deg om at DemoApplication er åpen i Visual Studio.

Trinn 2) Åpne nå Demo.aspx.cs-filen og legg til kodelinjen nedenfor.

  • Vi legger bare til kodelinjen Response.Write for å vise en streng.
  • Så når applikasjonen kjøres, skal den vise strengen "Vi feilsøker" i nettleseren.

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

Trinn 3) La oss nå legge til et bruddpunkt. Et bruddpunkt er et punkt i Visual Studio hvor du vil at utførelsen av programmet skal stoppe.

  1. For å legge til et brytpunkt, må du klikke på kolonnen der du vil at brytepunktet skal settes inn. Så i vårt tilfelle vil vi at programmet vårt skal stoppe ved kodelinjen "Response.Write". Du trenger ikke legge til noen kommando for å legge til et brytpunkt. Du trenger bare å klikke på linjen der du vil legge til et brytpunkt.
  2. Når dette er gjort, vil du merke at koden blir merket med rødt. Dessuten kommer en rød boble opp i kolonnen ved siden av kodelinjen.

Merk: - Du kan legge til flere brytpunkter i et program

Trinn 4) Nå må du kjøre applikasjonen din ved hjelp av feilsøkingsmodus. I Visual Studio velger du menyalternativet Feilsøking-> Start feilsøking.

Produksjon:-

Når du utfører alle trinnene riktig, vil gjennomføringen av programmet gå i stykker. Visual Studio vil gå til pausepunktet og markere linjen med kode i gult.

Nå, hvis programmereren føler at koden er feil, kan utførelsen stoppes. Koden kan deretter endres tilsvarende. For å fortsette å fortsette programmet, må programmereren klikke på F5-knappen på tastaturet.

Hva er sporing i ASP.NET?

Søknadssporing lar en se om noen sider som etterspørres resulterer i en feil. Når sporing er aktivert, legges det til en ekstra side kalt trace.axd i applikasjonen. (Se bildet nedenfor). Denne siden er vedlagt søknaden. Denne siden viser alle forespørslene og statusen deres.

La oss se på hvordan du aktiverer sporing for et program.

Trinn 1) La oss jobbe med 'DemoApplication'. Åpne web.config-filen fra Solution Explorer.

Trinn 2) Legg til nedenstående kodelinje i Web.config-filen.

Sporingserklæringen brukes til å aktivere sporing for applikasjonen.

  • 'RequestLimit' i sporingsuttalelse brukes. Den spesifiserer antall sideforespørsler som må spores.
  • I vårt eksempel gir vi en grense på 40. Vi gir en grense fordi en høyere verdi vil forringe ytelsen til applikasjonen.

Kjør "demoapplikasjonen" i Visual Studio.

Produksjon:-

Hvis du nå blar til URL - http: // localhost: 53003 / trace.axd , vil du se informasjonen for hver forespørsel. Her kan du se om det oppstår feil i et program. Følgende typer informasjon vises på siden ovenfor

  1. Tidspunktet for forespørselen om websiden.
  2. Navnet på websiden som blir bedt om.
  3. Statuskoden til nettforespørselen. (statuskode på 200 betyr at forespørselen er vellykket).
  4. Vis detaljer som du tillater for å se mer informasjon om nettforespørselen. Et eksempel på dette er vist nedenfor. En viktig detaljert informasjon som er gitt er topptekstinformasjonen. Denne informasjonen viser hva som er informasjonen som sendes i overskriften til hver nettforespørsel.

Sporing av sidenivå

Sidesporing viser all generell informasjon om en webside når den behandles. Dette er nyttig i feilsøking hvis en side ikke fungerer av noen grunn.

Visual Studio vil gi detaljert informasjon om ulike sider på siden. Informasjon som tidspunktet for hver metode som kalles i nettforespørselen. For eksempel, hvis webapplikasjonen din har et ytelsesproblem, kan denne informasjonen hjelpe til med å feilsøke problemet. Denne informasjonen vises når programmet kjøres i Visual Studio.

La oss se på hvordan du aktiverer sporing for et program på sidenivå.

Trinn 1) La oss jobbe med DemoApplication. Åpne demo.aspx-filen fra Solution Explorer

Trinn 2) Legg til nedenstående kodelinje for å aktivere sidesporing. I sidedeklarasjonen er det bare å legge til linjen Trace = "true". Denne kodelinjen tillater sporing av sidenivå.

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

Nå når nettsiden Demo.aspx vises, vil du få mye informasjon om siden. Informasjon som tiden for hvert aspekt av sidens livssyklus vises på denne siden.

Feilhåndtering: Vise en tilpasset feilside

I ASP.Net kan du få tilpassede feilsider vist til brukerne. Hvis et program inneholder noen form for feil, vil en tilpasset side vise denne feilen for brukeren.

I vårt eksempel skal vi først legge til en HTML-side. Denne siden vil vise en streng til brukeren "Vi ser på problemet". Vi vil da legge til noen feilkoder på vår demo.aspx-side, slik at feilsiden vises.

La oss følge trinnene nedenfor

Trinn 1) La oss jobbe med DemoApplication. La oss legge til en HTML-side i applikasjonen

  1. Høyreklikk på DemoApplication i Solution Explorer
  2. Velg menyalternativet 'Legg til' -> HTML-side

Trinn 2) I neste trinn må vi gi et navn til den nye HTML-siden.

  1. Oppgi navnet som 'ErrorPage'.
  2. Klikk på OK for å fortsette.

Trinn 3) Errorpage åpnes automatisk i Visual Studio. Hvis du går til Solution Explorer, vil du se filen er lagt til.

Legg til kodelinjen "Vi ser på problemet" på HTML-siden. Du trenger ikke å lukke HTML-filen før du gjør endringen i web.config-filen.

We are looking into the problem

Trinn 4) Nå må du gjøre en endring i web.config-filen. Denne endringen vil varsle at når en feil oppstår i applikasjonen, må den tilpassede feilsiden vises.

Med 'customErrors' -koden kan du definere en tilpasset feilside. StandardRedirect-egenskapen er satt til navnet på vår tilpassede feil side opprettet i forrige trinn.

Trinn 5) La oss nå legge til litt feil kode på demo.aspx.cs-siden. Åpne denne siden ved å dobbeltklikke på filen i Solution Explorer

Legg til koden nedenfor i filen Demo.aspx.cs.

  • Disse kodelinjene er designet for å lese linjene i en tekst fra en fil.
  • Filen skal være plassert i D-stasjonen med navnet 'Eksempel.txt.'
  • Men i vår situasjon eksisterer denne filen egentlig ikke. Så denne koden vil føre til en feil når applikasjonen kjører.

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

Utfør nå koden i Visual Studio, og du bør få utdataene nedenfor.

Produksjon:-

Ovenstående side viser at en feil ble utløst i applikasjonen. Som et resultat vises Error.html-siden for brukeren.

ASP.NET unhandled Unntak

Selv i de beste scenariene kan det være tilfeller av feil som bare ikke er forutsett.

Anta at hvis en bruker blar til feil side i applikasjonen. Dette er noe som ikke kan forutsies. I slike tilfeller kan ASP.Net omdirigere brukeren til errorpage.html.

La oss se et eksempel på dette.

  • Vi skal bruke den samme 'DemoApplication' som har Errorpage.html.
  • Og vi vil prøve å vise en webside som ikke finnes i applikasjonen vår.
  • Vi bør bli omdirigert til vår ErrorPage.html-side i dette tilfellet. La oss se trinnene for å oppnå dette.

Trinn 1) La oss jobbe med DemoApplication. Åpne filen Global.asax.cs fra Solution Explorer

MERKNAD : Global.asax.cs-filen brukes til å legge til kode som vil være gjeldende på alle sider i applikasjonen.

Trinn 2) Legg koden nedenfor til global.asax.cs. Disse linjene vil bli brukt til å se etter feil og vise siden ErrorPage.html deretter.

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

Kode Forklaring: -

  1. Første linje er Application_Error hendelsesbehandler. Denne hendelsen kalles når det oppstår en feil i et program. Merk at hendelsesnavnet må være 'Application_Error'. Og parametrene skal være som vist ovenfor.
  2. Deretter definerer vi et objekt av klassetypen HttpException. Dette er et standardobjekt som inneholder alle detaljene i feilen. Vi bruker deretter Server.GetLastError-metoden for å få alle detaljene i den siste feilen som oppstod i applikasjonen.
  3. Vi sjekker deretter om feilkoden til den siste feilen er 404. (Feilkoden 404 er standardkoden som returneres når en bruker blar til en side som ikke blir funnet). Vi overfører deretter brukeren til ErrorPage.html-siden hvis feilkoden stemmer overens.

Kjør nå koden i Visual Studio, og du bør få utdataene nedenfor

Produksjon:-

Bla gjennom siden http: // localhost: 53003 / Demo1.aspx . Husk at Demo1.aspx ikke finnes i applikasjonen vår. Du vil da få utdataene nedenfor.

Ovenstående side viser at en feil ble utløst i applikasjonen. Som et resultat vises Error.html-siden for brukeren.

ASP.NET Feillogging

Ved å logge på applikasjonsfeil hjelper det utvikleren å feilsøke og løse feilen på et senere tidspunkt. ASP.Net har muligheten til å logge feil. Dette gjøres i filen Global.asax.cs når feilen blir fanget. Under fangstprosessen kan feilmeldingen skrives inn i en loggfil.

La oss se et eksempel på dette.

  • Vi skal bruke vår samme DemoApplication som har Errorpage.html.
  • Og vi vil prøve å vise en webside som ikke finnes i applikasjonen vår.
  • Vi bør bli omdirigert til vår ErrorPage.html-side i dette tilfellet.
  • Og samtidig vil vi skrive feilmeldingen til en loggfil. La oss se trinnene for å oppnå dette.

Trinn 1) La oss jobbe med DemoApplication. Åpne filen Global.asax.cs fra Solution Explorer

Trinn 2) Legg koden nedenfor til global.asax.cs. Den vil se etter feil og vise siden ErrorPage.html deretter. Samtidig vil vi logge feilinformasjonen i en fil som heter 'AllErrors.txt.' For vårt eksempel vil vi skrive kode for å få denne filen opprettet på D-stasjonen.

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

Kode Forklaring: -

  1. Den første linjen er å få selve feilen ved å bruke 'Server.GetLastError' -metoden. Dette tildeles deretter variabelen 'exc'.
  2. Vi lager deretter en tom strengvariabel kalt 'str'. Vi får den faktiske feilmeldingen ved å bruke egenskapen 'exc.Message'. Exc.Message-egenskapen vil ha den nøyaktige meldingen for eventuelle feil som oppstår når programmet kjøres. Dette tildeles deretter strengvariabelen.
  3. Deretter definerer vi filen kalt 'AllErrrors.txt.' Det er her alle feilmeldingene vil bli sendt. Vi skriver strengen 'str' som inneholder alle feilmeldingene til denne filen.
  4. Til slutt overfører vi brukeren til filen ErrorPage.html.

Produksjon:-

Bla gjennom siden http: // localhost: 53003 / Demo1.aspx . Husk at Demo1.aspx ikke finnes i applikasjonen vår. Du vil da få utdataene nedenfor.

Og på samme tid, hvis du åpner filen 'AllErrors.txt', vil du se informasjonen nedenfor.

Feilmeldingen kan deretter sendes videre til utvikleren på et senere tidspunkt for feilsøkingsformål.

Sammendrag

  • ASP.Net har muligheten til å utføre feilsøking og feilhåndtering.
  • Feilsøking kan oppnås ved å legge til punkter i koden. Man kjører deretter alternativet Start med feilsøking i Visual Studio for å feilsøke koden.
  • Sporing er anlegget for å gi mer informasjon mens du kjører applikasjonen. Dette kan gjøres på applikasjons- eller sidenivå.
  • På sidenivå må koden Trace = true legges til sidedirektivet.
  • På applikasjonsnivå opprettes en ekstra side kalt Trace.axd for applikasjonen. Dette gir all nødvendig sporingsinformasjon.