Відстеження рівня налагодження сторінки Asp.Net, налагодження, обробка помилок (Приклад)

Зміст:

Anonim

У будь-якій програмі помилки неодмінно трапляються в процесі розробки. Важливо вміти виявляти помилки на ранній стадії.

У Visual Studio це можна зробити для програм ASP.Net. Visual Studio використовується для налагодження та має методи обробки помилок для ASP.Net.

У цьому підручнику ви дізнаєтесь-

  • Що таке налагодження в ASP.NET?
  • Що таке трасування в ASP.NET?
  • Відстеження рівня сторінки
  • Обробка помилок: Відображення користувацької сторінки помилок
  • Неопрацьований виняток ASP.NET
  • Журналювання помилок ASP.NET

Що таке налагодження в ASP.NET?

Налагодження - це процес додавання точок зупинку до програми. Ці точки зупинки використовуються для призупинення виконання запущеної програми. Це дозволяє розробнику зрозуміти, що відбувається в програмі в певний момент часу.

Візьмемо приклад програми. Програма відображає користувачеві рядок "Ми налагоджуємо". Припустимо, коли ми запускаємо додаток, з якихось причин рядок не відображається. Для виявлення проблеми нам потрібно додати точку зупинки. Ми можемо додати точку зупинки до рядка коду, який відображає рядок. Ця точка зупинки призупинить виконання програми. На даний момент програміст може побачити, що, можливо, йде не так. Програміст виправляє програму відповідно.

Тут, у прикладі, ми використаємо нашу "DemoApplication", створену в попередніх розділах. У наступному прикладі ми побачимо

  • Як змусити демонстраційну програму відображати рядок.
  • Як додати точки зупинку до програми.
  • Як налагодити програму, використовуючи цю точку зупинки.

Крок 1) Спочатку переконайтеся, що ми відкрили веб-програму у Visual Studio Переконайтеся, що DemoApplication відкрито у Visual Studio.

Крок 2) Тепер відкрийте файл Demo.aspx.cs і додайте нижченаведений рядок коду.

  • Ми просто додаємо рядок коду Response.Write для відображення рядка.
  • Отже, коли програма виконується, вона повинна відображати рядок "Ми налагоджуємо" у веб-браузері.

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

Крок 3) Тепер давайте додамо точку зупинки. Точка зупинки - це точка у Visual Studio, де потрібно припинити виконання програми.

  1. Щоб додати точку зупинки, потрібно клацнути стовпець, куди потрібно вставити точку зупинки. Отже, у нашому випадку ми хочемо, щоб наша програма зупинилася на кодовому рядку "Response.Write". Вам не потрібно додавати жодної команди, щоб додати точку зупинки. Вам просто потрібно натиснути на рядок, на якому ви хочете додати точку зупинки.
  2. Після цього ви помітите, що код позначається червоним кольором. Крім того, у стовпці поруч із рядком коду з’являється червона бульбашка.

Примітка: - Ви можете додати кілька точок зупинки в програмі

Крок 4) Тепер вам потрібно запустити програму, використовуючи режим налагодження. У Visual Studio виберіть пункт меню Налагодження-> Почати налагодження.

Вихід: -

Коли ви виконаєте всі дії правильно, виконання програми зламається. Visual Studio перейде до точки зупинку та позначить рядок коду жовтим кольором.

Тепер, якщо програміст відчує, що код неправильний, виконання можна зупинити. Потім код можна відповідно змінити. Щоб продовжити програму, програмісту потрібно натиснути кнопку F5 на клавіатурі.

Що таке трасування в ASP.NET?

Відстеження додатків дозволяє побачити, чи не викликає будь-яка запитувана сторінка помилку. Коли ввімкнено трасування, до додатка додається додаткова сторінка з назвою trace.axd. (Див. Зображення нижче). Ця сторінка додається до заявки. На цій сторінці відображатимуться всі запити та їх статус.

Давайте розглянемо, як увімкнути трасування для програми.

Крок 1) Давайте попрацюємо над нашим «DemoApplication». Відкрийте файл web.config із Провідника рішень.

Крок 2) Додайте наведений нижче рядок коду до файлу Web.config.

Оператор трасування використовується, щоб увімкнути трасування для програми.

  • Використовується 'requestLimit' у операторі трасування. Він визначає кількість запитів сторінок, які мають бути відстежені.
  • У нашому прикладі ми даємо ліміт 40. Ми даємо ліміт, оскільки більш високе значення погіршить продуктивність програми.

Запустіть "демозастосування" у Visual Studio.

Вихід: -

Якщо ви перейдете до URL-адреси - http: // localhost: 53003 / trace.axd , ви побачите інформацію для кожного запиту. Тут ви можете побачити, чи не виникають помилки в програмі. Наведені нижче типи інформації показані на наведеній вище сторінці

  1. Час запиту веб-сторінки.
  2. Назва веб-сторінки, що запитується.
  3. Код стану веб-запиту. (код стану 200 означає, що запит успішний).
  4. Перегляд деталей, який ви дозволяєте переглянути докладніше про веб-запит. Приклад цього наведено нижче. Однією з важливих детальних відомостей є інформація заголовка. Ця інформація показує, яка інформація надсилається у шапці кожного веб-запиту.

Відстеження рівня сторінки

Відстеження сторінок відображає всю загальну інформацію про веб-сторінку, коли вона обробляється. Це корисно при налагодженні, якщо сторінка з якихось причин не працює.

Visual Studio надасть детальну інформацію про різні аспекти сторінки. Інформація, така як час для кожного методу, що викликається у веб-запиті. Наприклад, якщо у вашому веб-додатку виникає проблема з продуктивністю, ця інформація може допомогти у налагодженні проблеми. Ця інформація відображається під час запуску програми у Visual Studio.

Давайте розглянемо, як увімкнути трасування програми на рівні сторінки.

Крок 1) Давайте попрацюємо над нашим DemoApplication. Відкрийте файл demo.aspx із Провідника рішень

Крок 2) Додайте нижченаведений рядок коду, щоб увімкнути трасування сторінок. У декларації Page просто додайте рядок Trace = "true". Цей рядок коду дозволить відстежувати рівень сторінки.

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

Тепер, коли відображається веб-сторінка Demo.aspx, ви отримаєте багато інформації про сторінку. На цій сторінці відображається така інформація, як час для кожного аспекту життєвого циклу сторінки.

Обробка помилок: Відображення користувацької сторінки помилок

У ASP.Net ви можете показувати користувачеві сторінки власних помилок. Якщо програма містить будь-яку помилку, користувацька сторінка відображатиме цю помилку користувачеві.

У нашому прикладі ми спочатку додамо HTML-сторінку. На цій сторінці відображатиметься рядок для користувача "Ми розглядаємо проблему". Потім ми додамо код помилки на нашу сторінку demo.aspx, щоб відображалася сторінка помилки.

Давайте виконуватимемо згадані нижче кроки

Крок 1) Давайте попрацюємо над нашим DemoApplication. Давайте додамо HTML-сторінку до програми

  1. Клацніть правою кнопкою миші на DemoApplication у Solution Explorer
  2. Виберіть пункт меню "Додати" -> HTML-сторінка

Крок 2) На наступному кроці нам потрібно вказати ім’я новій HTML-сторінці.

  1. Введіть ім’я як „ErrorPage”.
  2. Натисніть кнопку "OK", щоб продовжити.

Крок 3) Сторінка помилки автоматично відкриється у Visual Studio. Якщо ви перейдете до Провідника рішень, ви побачите доданий файл.

Додайте рядок коду "Ми розглядаємо проблему" на сторінку HTML. Вам не потрібно закривати файл HTML перед внесенням змін до файлу web.config.

We are looking into the problem

Крок 4) Тепер вам потрібно внести зміни у файл web.config. Ця зміна повідомляє, що всякий раз, коли в програмі виникає помилка, потрібно відображати спеціальну сторінку помилок.

Тег 'customErrors' дозволяє визначити спеціальну сторінку помилок. Властивість defaultRedirect має ім’я сторінки нашої користувацької помилки, створеної на попередньому кроці.

Крок 5) Тепер давайте додамо дефектний код на сторінку demo.aspx.cs. Відкрийте цю сторінку, двічі клацнувши файл у Провіднику рішень

Додайте наведений нижче код у файл Demo.aspx.cs.

  • Ці рядки коду призначені для зчитування рядків тексту з файлу.
  • Файл повинен знаходитись на диску D з назвою 'Example.txt'.
  • Але в нашій ситуації цей файл насправді не існує. Отже, цей код призведе до помилки під час запуску програми.

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

Тепер виконайте код у Visual Studio, і ви повинні отримати наведені нижче результати.

Вихід: -

На наведеній вище сторінці показано, що в додатку сталася помилка. Як результат, користувачеві відображається сторінка Error.html.

Неопрацьований виняток ASP.NET

Навіть у найкращих сценаріях можуть траплятися випадки помилок, яких просто не передбачити.

Припустимо, якщо користувач переходить на неправильну сторінку програми. Це те, що неможливо передбачити. У таких випадках ASP.Net може перенаправити користувача на сторінку errorpage.html.

Подивимось на це приклад.

  • Ми збираємось використовувати наш той самий "DemoApplication", який містить Errorpage.html.
  • І ми спробуємо переглянути веб-сторінку, якої немає в нашому додатку.
  • У цьому випадку ми повинні бути перенаправлені на нашу сторінку ErrorPage.html. Давайте подивимося кроки для досягнення цього.

Крок 1) Давайте попрацюємо над нашим DemoApplication. Відкрийте файл Global.asax.cs із Провідника рішень

ПРИМІТКА : Файл global.asax.cs використовується для додавання коду, який буде застосовним на всіх сторінках програми.

Крок 2) Додайте нижченаведений рядок коду до global.asax.cs. Ці рядки будуть використані для перевірки помилок та відповідного відображення сторінки 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");}}}

Пояснення коду: -

  1. Перший рядок - це обробник події Application_Error. Ця подія викликається щоразу, коли в додатку виникає помилка. Зверніть увагу, що ім'я події має бути "Application_Error". І параметри повинні бути такими, як показано вище.
  2. Далі визначаємо об’єкт класу типу HttpException. Це стандартний об'єкт, який зберігатиме всі деталі помилки. Потім ми використовуємо метод Server.GetLastError, щоб отримати всі деталі останньої помилки, яка сталася в додатку.
  3. Потім ми перевіряємо, чи є код помилки останньої помилки 404. (Код помилки 404 - це стандартний код, що повертається, коли користувач переглядає сторінку, яку не знайдено). Потім ми переносимо користувача на сторінку ErrorPage.html, якщо код помилки відповідає.

Тепер запустіть код у Visual Studio, і ви отримаєте наведені нижче результати

Вихід: -

Перегляньте сторінку http: // localhost: 53003 / Demo1.aspx . Пам'ятайте, що Demo1.aspx не існує в нашому додатку. Потім ви отримаєте нижченаведений результат.

На наведеній вище сторінці показано, що в додатку сталася помилка. Як результат, користувачеві відображається сторінка Error.html.

Журналювання помилок ASP.NET

Реєструючи помилки програми, це допомагає розробнику налагодити та усунути помилку пізніше. ASP.Net має можливість реєструвати помилки. Це робиться у файлі Global.asax.cs під час виявлення помилки. Під час процесу зйомки повідомлення про помилку можна записати у файл журналу.

Подивимось на це приклад.

  • Ми збираємось використовувати нашу ту саму програму DemoApplication, яка має Errorpage.html.
  • І ми спробуємо переглянути веб-сторінку, якої немає в нашому додатку.
  • У цьому випадку ми повинні бути перенаправлені на нашу сторінку ErrorPage.html.
  • І одночасно ми запишемо повідомлення про помилку у файл журналу. Давайте подивимося кроки для досягнення цього.

Крок 1) Давайте попрацюємо над нашим DemoApplication. Відкрийте файл Global.asax.cs із Провідника рішень

Крок 2) Додайте нижченаведений рядок коду до global.asax.cs. Він перевірить наявність помилок і відповідно відобразить сторінку ErrorPage.html. Також одночасно ми будемо реєструвати деталі помилок у файлі, що називається "AllErrors.txt". Для нашого прикладу ми напишемо код для створення цього файлу на диску 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");}}}

Пояснення коду: -

  1. Перший рядок - отримати саму помилку за допомогою методу 'Server.GetLastError'. Потім це присвоюється змінній 'exc'.
  2. Потім ми створюємо порожню змінну рядка з назвою 'str'. Ми отримуємо фактичне повідомлення про помилку за допомогою властивості 'exc.Message'. Властивість exc.Message матиме точне повідомлення про будь-яку помилку, яка виникає під час запуску програми. Потім це призначається рядковій змінній.
  3. Далі визначаємо файл, який називається "AllErrrors.txt". Тут будуть надіслані всі повідомлення про помилки. Ми пишемо рядок 'str', який містить усі повідомлення про помилки цього файлу.
  4. Нарешті, ми переносимо користувача у файл ErrorPage.html.

Вихід: -

Перегляньте сторінку http: // localhost: 53003 / Demo1.aspx . Пам'ятайте, що Demo1.aspx не існує в нашому додатку. Потім ви отримаєте нижченаведений результат.

І в той же час, якщо ви відкриєте файл "AllErrors.txt", ви побачите наведену нижче інформацію.

Потім повідомлення про помилку може бути передано розробнику пізніше для налагодження.

Резюме

  • ASP.Net має можливість виконувати налагодження та обробку помилок.
  • Налагодження можна досягти, додавши в код точки зупинку. Потім запускається параметр «Почати з налагодження» у Visual Studio для налагодження коду.
  • Трасування - це можливість надавати більше інформації під час запуску програми. Це можна зробити на рівні програми або сторінки.
  • На рівні сторінки код Trace = true потрібно додати до директиви сторінки.
  • На рівні програми створюється додаткова сторінка під назвою Trace.axd для програми. Це забезпечує всю необхідну інформацію про трасування.