Trasování na úrovni stránky Asp.Net, ladění, zpracování chyb (příklad)

Obsah:

Anonim

V jakékoli aplikaci dojde během procesu vývoje k chybám. Je důležité být schopen odhalit chyby v rané fázi.

V sadě Visual Studio je možné to provést pro aplikace ASP.Net. Visual Studio se používá pro ladění a má techniky zpracování chyb pro ASP.Net.

V tomto výukovém programu se naučíte

  • Co je ladění v ASP.NET?
  • Co je trasování v ASP.NET?
  • Trasování na úrovni stránky
  • Zpracování chyb: Zobrazení vlastní chybové stránky
  • ASP.NET Neošetřená výjimka
  • Chyba protokolu ASP.NET

Co je ladění v ASP.NET?

Ladění je proces přidávání zarážek do aplikace. Tyto zarážky se používají k pozastavení provádění spuštěného programu. To umožňuje vývojáři pochopit, co se děje v programu v určitém okamžiku.

Vezměme si příklad programu. Program uživateli zobrazí řetězec „We are debugging“. Předpokládejme, že při spuštění aplikace se řetězec z nějakého důvodu nezobrazí. K identifikaci problému musíme přidat zarážku. Na řádek kódu, který zobrazuje řetězec, můžeme přidat zarážku. Tento bod přerušení pozastaví provádění programu. V tomto okamžiku programátor uvidí, co se může pokazit. Programátor odpovídajícím způsobem program opraví.

Zde v příkladu použijeme naši „DemoApplication“, která byla vytvořena v předchozích kapitolách. V následujícím příkladu uvidíme

  • Jak nastavit, aby ukázková aplikace zobrazovala řetězec.
  • Jak přidat zarážky do aplikace.
  • Jak ladit aplikaci pomocí tohoto bodu zlomu.

Krok 1) Nejprve se ujistěte, že máme naši webovou aplikaci otevřenou v sadě Visual Studio. Zajistěte, aby byla v aplikaci Visual Studio otevřená DemoApplication.

Krok 2) Nyní otevřete soubor Demo.aspx.cs a přidejte níže uvedený řádek kódu.

  • Právě přidáváme kódový řádek Response.Write k zobrazení řetězce.
  • Když se aplikace spustí, měla by ve webovém prohlížeči zobrazit řetězec „We are debugging“.

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) Nyní přidáme zarážku. Zarážka je bod v sadě Visual Studio, kde chcete zastavit provádění programu.

  1. Chcete-li přidat zarážku, musíte kliknout na sloupec, do kterého chcete zarážku vložit. V našem případě tedy chceme, aby se náš program zastavil na kódovém řádku „Response.Write“. K přidání zarážky nemusíte přidávat žádný příkaz. Musíte jen kliknout na řádek, na který chcete přidat zarážku.
  2. Jakmile to provedete, všimnete si, že je kód označen červeně. Ve sloupci vedle kódového řádku se také objeví červená bublina.

Poznámka: - V aplikaci můžete přidat více zarážek

Krok 4) Nyní musíte spustit aplikaci pomocí režimu ladění. V aplikaci Visual Studio vyberte možnost nabídky Debug-> Spustit ladění.

Výstup:-

Když provedete všechny kroky správně, program se přeruší. Visual Studio přejde na zarážku a označí řádek kódu žlutě.

Nyní, pokud má programátor pocit, že je kód nesprávný, lze spuštění zastavit. Kód lze poté odpovídajícím způsobem upravit. Aby program mohl pokračovat v programu, musí kliknout na tlačítko F5 na klávesnici.

Co je trasování v ASP.NET?

Trasování aplikací umožňuje zjistit, zda některá z požadovaných stránek nevede k chybě. Když je trasování povoleno, do aplikace se přidá další stránka s názvem trace.axd. (Viz obrázek níže). Tato stránka je připojena k aplikaci. Na této stránce se zobrazí všechny požadavky a jejich stav.

Podívejme se, jak povolit trasování aplikace.

Krok 1) Pojďme pracovat na naší „DemoApplication“. Otevřete soubor web.config z Průzkumníka řešení.

Krok 2) Přidejte následující řádek kódu do souboru Web.config.

Příkaz trasování se používá k povolení trasování aplikace.

  • V dotazu trasování se používá parametr 'requestLimit'. Určuje počet požadavků na stránku, které je třeba vysledovat.
  • V našem příkladu dáváme limit 40. Dáváme limit, protože vyšší hodnota sníží výkon aplikace.

Spusťte „demoaplikaci“ v sadě Visual Studio.

Výstup:-

Pokud nyní přejdete na adresu URL - http: // localhost: 53003 / trace.axd , zobrazí se informace o každém požadavku. Zde můžete zjistit, zda se v aplikaci vyskytnou nějaké chyby. Na výše uvedené stránce jsou uvedeny následující typy informací

  1. Čas požadavku na webovou stránku.
  2. Název požadované webové stránky.
  3. Stavový kód webové žádosti. (stavový kód 200 znamená, že požadavek je úspěšný).
  4. V nabídce Zobrazit podrobnosti můžete zobrazit další podrobnosti o webové žádosti. Níže je uveden příklad. Jednou z důležitých podrobných informací jsou informace záhlaví. Tato informace ukazuje, jaké jsou informace odeslané v záhlaví každého webového požadavku.

Trasování na úrovni stránky

Trasování stránky zobrazuje všechny obecné informace o webové stránce při jejím zpracování. To je užitečné při ladění, pokud stránka z jakéhokoli důvodu nefunguje.

Visual Studio poskytne podrobné informace o různých aspektech stránky. Informace, jako je čas pro každou metodu, která je volána ve webovém požadavku. Například pokud má vaše webová aplikace problém s výkonem, mohou tyto informace pomoci při ladění problému. Tyto informace se zobrazí při spuštění aplikace v sadě Visual Studio.

Pojďme se podívat na to, jak povolit trasování aplikace na úrovni stránky.

Krok 1) Pojďme pracovat na naší DemoApplication. Otevřete soubor demo.aspx z Průzkumníka řešení

Krok 2) Přidáním níže uvedeného řádku kódu povolíte trasování stránky. V deklaraci stránky stačí přidat řádek Trace = "true". Tento řádek kódu umožní trasování na úrovni stránky.

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

Nyní, když se zobrazí webová stránka Demo.aspx, získáte o této stránce spoustu informací. Na této stránce se zobrazují informace, jako je čas pro každý aspekt životního cyklu stránky.

Zpracování chyb: Zobrazení vlastní chybové stránky

V ASP.Net můžete uživatelům zobrazit vlastní chybové stránky. Pokud aplikace obsahuje jakýkoli druh chyby, uživatelská stránka tuto chybu zobrazí uživateli.

V našem příkladu nejdříve přidáme stránku HTML. Na této stránce se uživateli zobrazí řetězec „Díváme se na problém“. Poté přidáme nějaký chybový kód na naši stránku demo.aspx, aby se zobrazila chybová stránka.

Postupujme podle níže uvedených kroků

Krok 1) Pojďme pracovat na naší DemoApplication. Přidejte do aplikace stránku HTML

  1. Klikněte pravým tlačítkem na DemoApplication v Průzkumníku řešení
  2. Vyberte možnost nabídky „Přidat“ -> Stránka HTML

Krok 2) V dalším kroku musíme zadat název nové stránky HTML.

  1. Zadejte název jako „ErrorPage“.
  2. Pokračujte kliknutím na tlačítko „OK“.

Krok 3) Chybová stránka se automaticky otevře v sadě Visual Studio. Pokud přejdete do Průzkumníka řešení, uvidíte přidaný soubor.

Přidejte na stránku HTML kódový řádek „Díváme se na problém“. Před provedením změny v souboru web.config není nutné soubor HTML zavírat.

We are looking into the problem

Krok 4) Nyní musíte provést změnu v souboru web.config. Tato změna upozorní, že kdykoli se v aplikaci vyskytne chyba, je třeba zobrazit vlastní chybovou stránku.

Značka „customErrors“ umožňuje definovat vlastní chybovou stránku. Vlastnost defaultRedirect je nastavena na název naší vlastní chybové stránky vytvořené v předchozím kroku.

Krok 5) Nyní přidejme na stránku demo.aspx.cs vadný kód. Otevřete tuto stránku dvojitým kliknutím na soubor v Průzkumníku řešení

Přidejte níže uvedený kód do souboru Demo.aspx.cs.

  • Tyto řádky kódu jsou určeny ke čtení řádků textu ze souboru.
  • Soubor má být umístěn na jednotce D s názvem „Example.txt“.
  • Ale v naší situaci tento soubor ve skutečnosti neexistuje. Takže tento kód bude mít za následek chybu při spuštění aplikace.

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

Nyní spusťte kód v sadě Visual Studio a měli byste získat níže uvedený výstup.

Výstup:-

Výše uvedená stránka ukazuje, že v aplikaci byla spuštěna chyba. Výsledkem je, že se uživateli zobrazí stránka Error.html.

ASP.NET Neošetřená výjimka

I v těch nejlepších scénářích mohou nastat případy chyb, které se prostě nepředvídají.

Předpokládejme, že pokud uživatel v aplikaci přejde na nesprávnou stránku. To je něco, co nelze předvídat. V takových případech může ASP.Net uživatele přesměrovat na errorpage.html.

Podívejme se na příklad.

  • Budeme používat naši stejnou 'DemoApplication', která má Errorpage.html.
  • Pokusíme se zobrazit webovou stránku, která v naší aplikaci neexistuje.
  • V tomto případě bychom měli být přesměrováni na naši stránku ErrorPage.html. Podívejme se na kroky k dosažení tohoto cíle.

Krok 1) Pojďme pracovat na naší DemoApplication. Otevřete soubor Global.asax.cs z Průzkumníka řešení

POZNÁMKA : Soubor global.asax.cs se používá k přidání kódu, který bude použitelný na všech stránkách v aplikaci.

Krok 2) Přidejte níže uvedený řádek kódu do souboru global.asax.cs. Tyto řádky budou použity ke kontrole chyb a odpovídajícímu zobrazení 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");}}}

Vysvětlení kódu: -

  1. První řádek je obslužná rutina události Application_Error. Tato událost je volána vždy, když v aplikaci dojde k chybě. Všimněte si, že název události musí být 'Application_Error'. A parametry by měly být, jak je uvedeno výše.
  2. Dále definujeme objekt typu třídy HttpException. Toto je standardní objekt, který bude obsahovat všechny podrobnosti o chybě. Potom použijeme metodu Server.GetLastError k získání všech podrobností o poslední chybě, ke které došlo v aplikaci.
  3. Poté zkontrolujeme, zda je chybový kód poslední chyby 404. (Chybový kód 404 je standardní kód vrácený při procházení stránky, která není nalezena). Pokud se kód chyby shoduje, uživatele poté přeneseme na stránku ErrorPage.html.

Nyní spusťte kód v sadě Visual Studio a měli byste získat níže uvedený výstup

Výstup:-

Projděte stránku http: // localhost: 53003 / Demo1.aspx . Nezapomeňte, že Demo1.aspx v naší aplikaci neexistuje. Poté získáte níže uvedený výstup.

Výše uvedená stránka ukazuje, že v aplikaci byla spuštěna chyba. Výsledkem je, že se uživateli zobrazí stránka Error.html.

Chyba protokolu ASP.NET

Protokolováním chyb aplikace pomáhá vývojáři ladit a vyřešit chybu později. ASP.Net má možnost protokolovat chyby. To se provádí v souboru Global.asax.cs, když je chyba zachycena. Během procesu snímání lze chybovou zprávu zapsat do souboru protokolu.

Podívejme se na příklad.

  • Budeme používat naši stejnou DemoApplication, která má Errorpage.html.
  • Pokusíme se zobrazit webovou stránku, která v naší aplikaci neexistuje.
  • V tomto případě bychom měli být přesměrováni na naši stránku ErrorPage.html.
  • A současně napíšeme chybovou zprávu do souboru protokolu. Podívejme se na kroky k dosažení tohoto cíle.

Krok 1) Pojďme pracovat na naší DemoApplication. Otevřete soubor Global.asax.cs z Průzkumníka řešení

Krok 2) Přidejte níže uvedený řádek kódu do souboru global.asax.cs. Zkontroluje chyby a odpovídajícím způsobem zobrazí stránku ErrorPage.html. Současně také zaznamenáme podrobnosti o chybě do souboru s názvem „AllErrors.txt“. V našem příkladu napíšeme kód, aby byl tento soubor vytvořen na jednotce 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");}}}

Vysvětlení kódu: -

  1. První řádek je získat samotnou chybu pomocí metody 'Server.GetLastError'. To se poté přiřadí k proměnné „exc“.
  2. Poté vytvoříme prázdnou proměnnou řetězce nazvanou 'str'. Skutečnou chybovou zprávu dostaneme pomocí vlastnosti 'exc.Message'. Vlastnost exc.Message bude mít přesnou zprávu o jakékoli chybě, ke které dojde při spuštění aplikace. To se pak přiřadí proměnné řetězce.
  3. Dále definujeme soubor s názvem „AllErrrors.txt“. Zde se budou odesílat všechny chybové zprávy. Do tohoto souboru napíšeme řetězec 'str', který obsahuje všechny chybové zprávy.
  4. Nakonec přeneseme uživatele do souboru ErrorPage.html.

Výstup:-

Projděte stránku http: // localhost: 53003 / Demo1.aspx . Nezapomeňte, že Demo1.aspx v naší aplikaci neexistuje. Poté získáte níže uvedený výstup.

A zároveň, pokud otevřete soubor 'AllErrors.txt', uvidíte níže uvedené informace.

Chybová zpráva pak může být předána vývojáři později pro účely ladění.

souhrn

  • ASP.Net má možnost provádět ladění a zpracování chyb.
  • Ladění lze dosáhnout přidáním zarážek do kódu. Jeden pak spustí možnost Spustit s laděním v sadě Visual Studio k ladění kódu.
  • Trasování je zařízení, které poskytuje více informací při spuštění aplikace. To lze provést na úrovni aplikace nebo stránky.
  • Na úrovni stránky je třeba do direktivy stránky přidat kód Trace = true.
  • Na úrovni aplikace se pro aplikaci vytvoří další stránka s názvem Trace.axd. To poskytuje všechny potřebné informace o trasování.