Asp.Net oldalszintű Tracás, Hibakeresés, Hibakezelés
⚡ Okos összefoglaló
ASP.NET hibakeresés, tracA Visual Studio hibakezelése segít a fejlesztőknek korán felismerni a problémákat, nyomon követni a kéréseket. trace.axd, és átirányítja a felhasználókat egyéni hibaoldalakra, amikor kezeletlen kivételek történnek a fejlesztési és éles életciklus során.
Minden alkalmazásban előfordulhatnak hibák a fejlesztési folyamat során. Fontos, hogy a hibákat korai szakaszban fel tudjuk fedezni.
A Visual Studioban ez ASP.NET alkalmazásokhoz lehetséges. A Visual Studio hibakeresésre szolgál, és rendelkezik ASP.NET hibakezelési technikákkal.
Mi az a hibakeresés az ASP.NET-ben?
Hibakeresés az a folyamat, amelynek során töréspontokat adunk egy alkalmazáshoz. Ezeket a töréspontokat egy futó program végrehajtásának szüneteltetésére használjuk. Ez lehetővé teszi a fejlesztő számára, hogy megértse, mi történik a programban egy adott időpontban.
Vegyünk egy példát egy programra. A program egy „Hibakeresés folyamatban” szöveget jelenít meg a felhasználónak. Tegyük fel, hogy az alkalmazás futtatásakor valamilyen oknál fogva a szöveg nem jelenik meg. A probléma azonosításához hozzá kell adnunk egy töréspontot. Hozzáadhatunk egy töréspontot a kódsorhoz, amely megjeleníti a szöveget. Ez a töréspont szünetelteti a program végrehajtását. Ezen a ponton a programozó láthatja, hogy mi lehet a hiba. A programozó ennek megfelelően kijavítja a programot.
Ebben a példában a korábbi fejezetekben létrehozott DemoApplication-unkat fogjuk használni. A következő példában a következőket fogjuk látni:
- Hogyan lehet a demóalkalmazásban karakterláncot megjeleníteni.
- Hogyan adhatunk töréspontokat egy alkalmazáshoz.
- Az alkalmazás hibakeresése ezzel a törésponttal.
Alkalmazások hibakeresése ASP.NET-ben
Az alábbiakban bemutatjuk a demó alkalmazás létrehozásának, a töréspontok hozzáadásának és a hibakeresésnek az ASP.NET-ben lépéseit:
1. lépés) Nyissa meg az alkalmazást a Visual Studio-ban.
Először is győződjünk meg arról, hogy a webes alkalmazásunk meg van nyitva a Visual Studioban. Győződjünk meg arról, hogy a DemoApplication meg van nyitva a Visual Studioban.
2. lépés) Most nyissa meg a Demo.aspx.cs fájlt, és adja hozzá az alábbi kódsort.
- Csak a Response.Write kódsort adjuk hozzá egy karakterlánc megjelenítéséhez.
- Tehát amikor az alkalmazás fut, meg kell jelenítenie a „Hibakeresés” szöveget a böngészőben.
namespace DemoApplication { public partial class Demo : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Response.Write("We are debugging"); } } }
3. lépés) Adjon hozzá egy töréspontot az alkalmazáshoz.
A töréspont a Visual Studio azon pontja, ahol a program végrehajtását le kell állítani.
- Töréspont hozzáadásához kattintson arra az oszlopra, ahová a töréspontot be szeretné szúrni. Tehát a mi esetünkben azt szeretnénk, hogy a programunk a „Response.Write” kódnál álljon meg. Nem kell semmilyen parancsot hozzáadnia a töréspont hozzáadásához. Csak kattintson arra a sorra, amelyhez a töréspontot hozzá szeretné adni.
- Ha ez megtörtént, észre fogja venni, hogy a kód piros színnel jelenik meg. Ezenkívül egy piros buborék jelenik meg a kódsor melletti oszlopban.
Jegyzet: Több töréspontot is hozzáadhat egy alkalmazáshoz.
4. lépés) Futtassa az alkalmazást hibakeresési módban.
Most futtatnia kell az alkalmazást a hibakeresési mód használatával. A Visual Studio programban válassza a Hibakeresés-> Hibakeresés indítása menüpontot.
Kimenet:-
Ha minden lépést helyesen hajt végre, a program végrehajtása megszakad. A Visual Studio a törésponthoz lép, és sárga színnel jelöli a kódsort.
Most, ha a programozó úgy érzi, hogy a kód helytelen, a végrehajtás leállítható. A kód ezután ennek megfelelően módosítható. A program folytatásához a programozónak rá kell kattintania az F5 gombra a billentyűzeten.
Mi a TracASP.NET-ben dolgozol?
Alkalmazás tracING lehetővé teszi annak megtekintését, hogy a kért oldalak hibát okoznak-e. Amikor tracengedélyezve van, egy külön oldal, az úgynevezett tracAz e.axd fájl hozzáadódik az alkalmazáshoz (lásd az alábbi képet). Ez az oldal csatolva van az alkalmazáshoz, és megjeleníti az összes kérést és azok állapotát.
Hogyan lehet engedélyezni TracAlkalmazáshoz ASP.NET-ben
Nézzük meg, hogyan lehet engedélyezni tracegyért ASP.NET alkalmazás:
Step 1) Dolgozzunk a demóalkalmazásunkon. Nyissuk meg a web.config fájlt a Megoldáskezelőből.
Step 2) Adja hozzá az alábbi kódsort a web.config fájlhoz. A tracAz e utasítást használják az engedélyezésre traca jelentkezéshez.
- A requestLimit a tracAz „e” utasítás meghatározza a végrehajtandó oldalkérelmek számát. traced.
- A példánkban 40-es korlátot adunk meg. Azért adunk meg egy korlátot, mert a magasabb érték rontja az alkalmazás teljesítményét.
<?xml version="1.0" encoding="utf-8"?> <!-- For more information on how to configure your ASP.NET application, please visit http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <system.web> <compilation debug="true" targetFramework="4.0" /> <httpRuntime targetFramework="4.0" /> <trace enabled="true" pageOutput="false" requestLimit="40" localOnly="false" /> </system.web> </configuration>
Futtassa a DemoApplication alkalmazást a Visual Studióban.
Kimenet:-
Ha most felkeresed a URL http://localhost:53003/trace.axd, látni fogja az egyes kérésekhez tartozó információkat. Itt láthatja, hogy előfordulnak-e hibák egy alkalmazásban. A következő típusú információk jelennek meg az oldalon:
- A weboldal igénylésének időpontja.
- A kért weboldal neve.
- A webes kérés állapotkódja (a 200-as állapotkód azt jelenti, hogy a kérés sikeres).
- A Részletek megtekintése hivatkozásra kattintva további részleteket tekinthet meg a webes kérésről. Az egyik fontos részlet a fejlécinformáció, amely megmutatja, hogy milyen információk kerülnek elküldésre az egyes webes kérések fejlécében.
Oldalszint TracASP.NET-ben
Oldalszint TracING Az ASP.NET-ben az oldal feldolgozása közben az összes általános információt megjeleníti. Ez hasznos a hibakeresésben, ha egy oldal bármilyen okból nem működik. A Visual Studio részletes információkat nyújt az oldal különböző aspektusairól, például a webes kérésben meghívott egyes metódusok idejéről.
Például, ha a webalkalmazásod teljesítményproblémákkal küzd, ez az információ segíthet a probléma elhárításában. Ez az információ akkor jelenik meg, amikor az alkalmazás a Visual Studio-ban fut.
Hogyan lehet engedélyezni TracOldalszintű elemzés ASP.NET-ben
Nézzük meg, hogyan lehet engedélyezni az oldalszintű megjelenítést tracASP.NET alkalmazáshoz:
Step 1) Dolgozzunk a DemoApplication-on. Nyissuk meg a demo.aspx fájlt a Megoldáskezelőből.
Step 2) Adja hozzá az alábbi kódsort az oldal engedélyezéséhez tracing. Az Page deklarációban egyszerűen fűzd hozzá az attribútumot Trace=”true”. Ez a kódsor lehetővé teszi az oldal szintű műveleteket. tracIng.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Demo.aspx.cs" Inherits="DemoApplication.Demo" Trace="true" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> </form> </body> </html>
Futtassa az alkalmazást a Visual Studióban.
Kimenet:-
Most, amikor megjelenik a Demo.aspx weboldal, rengeteg információt fog kapni az oldalról. Ezen az oldalon olyan információk jelennek meg, mint az oldal életciklusának egyes aspektusaihoz tartozó idő.
Hibakezelés: Egyéni hibaoldal megjelenítése
In ASP.NET, akkor egyéni hibaoldalakat jeleníthet meg a felhasználók számára. Ha egy alkalmazás bármilyen hibát tartalmaz, egy egyéni oldal megjeleníti ezt a hibát a felhasználó számára.
A példánkban először egy HTML oldalt fogunk hozzáadni. Ez az oldal egy karakterláncot jelenít meg a felhasználónak: „Vizsgáljuk a problémát”. Ezután hibakódot adunk a demo.aspx oldalunkhoz, hogy a hibaoldal megjelenjen. Kövessük az alábbi lépéseket.
Step 1) Dolgozzunk a demóalkalmazásunkon. Adjunk hozzá egy HTML oldalt az alkalmazáshoz.
- Kattintson a jobb gombbal a DemoApplication elemre a Megoldáskezelőben.
- Válaszd a Hozzáadás->HTML oldal menüpontot.
Step 2) A következő lépésben nevet kell adnunk az új HTML oldalnak.
- Adja meg a nevet ErrorPage formátumban.
- A folytatáshoz kattintson az OK gombra.
Step 3) Az ErrorPage automatikusan megnyílik a Visual Studioban. Ha megnyitod a Solution Explorert, látni fogod a hozzáadott fájlt.
Add hozzá a „Vizsgáljuk a problémát” kódsort a HTML oldalhoz. A web.config fájl módosítása előtt nem kell bezárnod a HTML fájlt.
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> We are looking into the problem </body> </html>
Step 4) Most módosítanod kell a web.config fájlt. Ez a módosítás értesíteni fogja, hogy valahányszor hiba történik az alkalmazásban, egyéni hibaoldalt kell megjeleníteni. A customErrors címke lehetővé teszi egyéni hibaoldal definiálását. A defaultRedirect tulajdonság az előző lépésben létrehozott egyéni hibaoldal nevére van beállítva.
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime targetFramework="4.0" />
<customErrors mode="On" defaultRedirect="ErrorPage.html">
</customErrors>
</system.web>
</configuration>
Step 5) Most adjunk hozzá hibás kódot a demo.aspx.cs oldalhoz. Nyissuk meg ezt az oldalt a fájlra duplán kattintva a Megoldáskezelőben.
Adja hozzá az alábbi kódot a Demo.aspx.cs fájlhoz.
- Ezek a kódsorok arra szolgálnak, hogy egy fájlból olvassák be a szövegsorokat.
- A fájlnak a D meghajtón kell lennie, Example.txt néven.
- De a mi helyzetünkben ez a fájl valójában nem létezik. Tehát ez a kód hibát fog eredményezni, amikor az alkalmazás fut.
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); } } }
Most futtassa a kódot Visual Studio és meg kell kapnia az alábbi kimenetet.
Kimenet:-
A fenti oldal azt mutatja, hogy hiba történt az alkalmazásban. Ennek eredményeként az ErrorPage.html oldal jelenik meg a felhasználónak.
ASP.NET kezeletlen kivétel
Még a legjobb esetben is előfordulhatnak előre nem látható hibák. Tegyük fel, hogy egy felhasználó rossz oldalra navigál az alkalmazásban. Ez egy olyan dolog, amit nem lehet megjósolni. Ilyen esetekben az ASP.NET átirányíthatja a felhasználót az ErrorPage.html fájlra.
Lássunk erre egy példát.
- Ugyanazt a DemoApplication-t fogjuk használni, amelyiknek van ErrorPage.html fájlja.
- És megpróbálunk olyan weboldalt megtekinteni, amely nem létezik az alkalmazásunkban.
- Ebben az esetben az ErrorPage.html oldalunkra kell átirányítanunk minket. Nézzük meg a lépéseket, hogy ezt elérhessük.
Step 1) Dolgozzunk a DemoApplication-on. Nyissuk meg a Global.asax.cs fájlt a Megoldáskezelőből.
Jegyzet: A Global.asax.cs fájllal olyan kódot lehet hozzáadni, amely az alkalmazás összes oldalán érvényes lesz.
Step 2) Add hozzá az alábbi kódsort a Global.asax.cs fájlhoz. Ezek a sorok a hibák ellenőrzésére és az ErrorPage.html oldal ennek megfelelő megjelenítésére szolgálnak.
namespace DemoApplication { public class Global : System.Web.HttpApplication { protected void Application_Error(object sender, EventArgs e) { HttpException lastErrorWrapper = Server.GetLastError() as HttpException; if (lastErrorWrapper.GetHttpCode() == 404) Server.Transfer("~/ErrorPage.html"); } } }
Code Magyarázat:-
- Az első sor az Application_Error eseménykezelő. Ez az esemény minden alkalommal meghívódik, amikor hiba történik egy alkalmazásban. Fontos megjegyezni, hogy az esemény nevének Application_Error-nak kell lennie, a paramétereknek pedig a fentieknek megfelelően kell lenniük.
- Ezután definiálunk egy HttpException osztálytípusú objektumot. Ez egy szabványos objektum, amely a hiba összes részletét tartalmazza. Ezután a Server.GetLastError metódust használjuk, hogy megkapjuk az alkalmazásban előforduló legutóbbi hiba összes részletét.
- Ezután ellenőrizzük, hogy az utolsó hibakód 404-es-e (a 404-es hibakód az a standard kód, amely akkor tér vissza, amikor a felhasználó egy olyan oldalra böngészik, amely nem található). Ha a hibakód egyezik, átirányítjuk a felhasználót az ErrorPage.html oldalra.
Most futtasd a kódot a Visual Studio-ban, és az alábbi kimenetet kell kapnod.
Kimenet:-
Böngésszen az oldalon http://localhost:53003/Demo1.aspx. Ne feledje, hogy a Demo1.aspx nem létezik az alkalmazásunkban. Ezután megkapja az alábbi kimenetet.
A fenti oldal azt mutatja, hogy hiba történt az alkalmazásban. Ennek eredményeként az ErrorPage.html oldal jelenik meg a felhasználónak.
ASP.NET hibanaplózás
Az alkalmazáshibák naplózásával segíti a fejlesztőt a hiba későbbi elhárításában és megoldásában. Az ASP.NET képes hibák naplózására. Ez a Global.asax.cs fájlban történik, amikor a hiba rögzítésre kerül. A rögzítési folyamat során a hibaüzenet egy naplófájlba írható.
Lássunk erre egy példát.
- Ugyanazt a DemoApplication-t fogjuk használni, amelyiknek van ErrorPage.html fájlja.
- És megpróbálunk olyan weboldalt megtekinteni, amely nem létezik az alkalmazásunkban.
- Ebben az esetben át kell irányítani minket az ErrorPage.html oldalunkra.
- És ezzel egy időben a hibaüzenetet egy naplófájlba fogjuk írni. Nézzük meg a lépéseket, hogy ezt elérhessük.
Step 1) Dolgozzunk a DemoApplication-on. Nyissuk meg a Global.asax.cs fájlt a Megoldáskezelőből.
Step 2) Add hozzá az alábbi kódsort a Global.asax.cs fájlhoz. Ez hibákat fog keresni, és ennek megfelelően megjeleníti az ErrorPage.html oldalt. Ezzel egyidejűleg a hiba részleteit is naplózzuk egy AllErrors.txt nevű fájlban. Példánkban egy kódot fogunk írni, amely ezt a fájlt a D meghajtón hozza létre.
namespace DemoApplication { public class Global : System.Web.HttpApplication { protected void Application_Error(object sender, EventArgs e) { Exception exc = Server.GetLastError(); String str = ""; str = exc.Message; String path = @"D:\AllErrors.txt"; File.WriteAllText(path, str); Server.Transfer("~/ErrorPage.html"); } } }
Code Magyarázat:-
- Az első sorban magát a hibát kell lekérdezni a Server.GetLastError metódus segítségével. Ezt ezután az exc változóhoz rendeljük.
- Ezután létrehozunk egy üres karakterlánc változót, az úgynevezett str-t. A tényleges hibaüzenetet az exc.Message tulajdonság segítségével kapjuk meg. Az exc.Message tulajdonság tartalmazza a pontos üzenetet az alkalmazás futtatása során felmerülő hibákról. Ezt ezután a karakterlánc változóhoz rendeljük.
- Ezután definiáljuk az AllErrors.txt nevű fájlt. Ide fogjuk küldeni az összes hibaüzenetet. Ebbe a fájlba írjuk az „str” karakterláncot, amely az összes hibaüzenetet tartalmazza.
- Végül átvisszük a felhasználót az ErrorPage.html fájlba.
Kimenet:-
Böngésszen az oldalon http://localhost:53003/Demo1.aspx. Ne feledje, hogy a Demo1.aspx nem létezik az alkalmazásunkban. Ezután megkapja az alábbi kimenetet.
És ugyanakkor, ha megnyitja az AllErrors.txt fájlt, az alábbi információkat fogja látni.
A hibaüzenet ezután egy későbbi időpontban továbbítható a fejlesztőnek hibakeresési célból.





























