Асп.Нет праћење нивоа странице, отклањање грешака, руковање грешкама (пример)

Преглед садржаја:

Anonim

У било којој апликацији, грешке ће се обавезно појавити током процеса развоја. Важно је бити у могућности открити грешке у раној фази.

У Висуал Студио-у је то могуће учинити за АСП.Нет апликације. Висуал Студио се користи за отклањање грешака и има технике руковања грешкама за АСП.Нет.

У овом упутству ћете научити-

  • Шта је отклањање грешака у АСП.НЕТ-у?
  • Шта је праћење у АСП.НЕТ?
  • Праћење нивоа странице
  • Руковање грешкама: Приказивање странице прилагођене грешке
  • Необрађени изузетак АСП.НЕТ
  • АСП.НЕТ евидентирање грешака

Шта је отклањање грешака у АСП.НЕТ-у?

Отклањање грешака је поступак додавања тачака прекида у апликацију. Те тачке прекида користе се за паузирање извршавања покренутог програма. Ово омогућава програмеру да разуме шта се дешава у програму у одређеном тренутку.

Узмимо пример програма. Програм приказује кориснику низ "Отклањамо грешке". Претпоставимо да се, из неког разлога, низ не приказује када покренемо апликацију. Да бисмо идентификовали проблем, морамо додати тачку прекида. У линију кода која приказује низ можемо додати тачку прекида. Ова тачка прекида зауставиће извршавање програма. У овом тренутку програмер може да види шта вероватно иде по злу. Програмер исправља програм у складу с тим.

Овде у примеру ћемо користити нашу „ДемоАпплицатион“ која је креирана у ранијим поглављима. У следећем примеру ћемо видети

  • Како учинити да демо апликација приказује низ.
  • Како да додате тачке прекида у апликацију.
  • Како отклонити грешке у апликацији помоћу ове тачке прекида.

Корак 1) Прво се побринимо да имамо отворену веб апликацију у Висуал Студио-у. Уверите се да је ДемоАпплицатион отворена у Висуал Студио-у.

Корак 2) Сада отворите датотеку Демо.аспк.цс и додајте доњу линију кода.

  • Само додајемо линију кода Респонсе.Врите да би се приказао низ.
  • Дакле, када се апликација извршава, у веб прегледачу би требало да прикаже низ „Отклањамо грешке“.

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

Корак 3) Додајмо тачку прекида. Тачка прекида је тачка у Висуал Студију у којој желите да се извршавање програма заустави.

  1. Да бисте додали тачку прекида, потребно је да кликнете на колону где желите да се убаци тачка прекида. Дакле, у нашем случају желимо да се наш програм заустави на линији кода „Респонсе.Врите“. Не морате додавати било коју команду да бисте додали тачку прекида. Само треба да кликнете на линију на којој желите да додате тачку прекида.
  2. Једном када то завршите, приметићете да се код означава црвеном бојом. Такође, црвени балон се појављује у колони поред линије кода.

Напомена: - У апликацију можете да додате више тачака прекида

Корак 4) Сада морате покренути своју апликацију користећи режим за отклањање грешака. У Висуал Студио-у изаберите опцију менија Отклањање грешака-> Покрени отклањање грешака.

Излаз: -

Када правилно изведете све кораке, извршавање програма ће се прекинути. Висуал Студио ће прећи на тачку прекида и означити линију кода жутом бојом.

Ако програмер осети да је код нетачан, извршавање се може зауставити. Тада се код може модификовати у складу с тим. Да би наставио да наставља програм, програмер треба да притисне тастер Ф5 на тастатури.

Шта је праћење у АСП.НЕТ?

Праћење апликација омогућава да се види да ли тражена страница резултира грешком. Када је праћење омогућено, додатна страница названа траце.акд додаје се у апликацију. (Погледајте слику испод). Ова страница је у прилогу пријаве. Ова страница ће приказати све захтеве и њихов статус.

Погледајмо како да омогућимо праћење за апликацију.

Корак 1) Радимо на нашој „ДемоАпплицатион“. Отворите датотеку веб.цонфиг из програма Солутион Екплорер.

Корак 2) Додајте доњи ред кода у датотеку Веб.цонфиг.

Изјава о праћењу користи се за омогућавање праћења апликације.

  • Користи се 'рекуестЛимит' у наредби за праћење. Одређује број захтева за страницама који се морају пратити.
  • У нашем примеру дајемо ограничење од 40. Дајемо ограничење јер ће већа вредност погоршати перформансе апликације.

Покрените „демо апликацију“ у Висуал Студио-у.

Излаз: -

Ако сада прегледате УРЛ - хттп: // лоцалхост: 53003 / траце.акд , видећете информације за сваки захтев. Овде можете видети да ли се у апликацији појављују грешке. Следеће врсте информација приказане су на горњој страници

  1. Време захтева за веб страницу.
  2. Назив веб странице која се тражи.
  3. Статусни код веб захтева. (статусни код од 200 значи да је захтев успешан).
  4. Преглед детаља који дозвољавате да видите више детаља о веб захтеву. Пример за то је приказан у наставку. Једна од важних детаљних информација је информација о заглављу. Ове информације показују које су информације послате у заглављу сваког веб захтева.

Праћење нивоа странице

Праћење страница приказује све опште информације о веб страници када се она обрађује. Ово је корисно у отклањању грешака ако страница из било ког разлога не ради.

Висуал Студио ће пружити детаљне информације о различитим аспектима странице. Информације попут времена за сваку методу која се позива у веб захтеву. На пример, ако ваша веб апликација има проблем са перформансама, ове информације могу помоћи у решавању проблема. Ове информације се приказују када се апликација покрене у Висуал Студио-у.

Погледајмо како да омогућимо праћење за апликацију на нивоу странице.

Корак 1) Радимо на нашој ДемоАпплицатион. Отворите датотеку демо.аспк из програма Солутион Екплорер

Корак 2) Додајте доњи ред кода да бисте омогућили праћење страница. У декларацији Паге само додајте ред Траце = "труе". Ова линија кода омогућиће праћење на нивоу странице.

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

Сада када се прикаже веб страница Демо.аспк, добићете пуно информација о страници. На овој страници се приказују информације попут времена за сваки аспект животног циклуса странице.

Руковање грешкама: Приказивање странице прилагођене грешке

У АСП.Нету можете корисницима приказати прилагођене странице са грешкама. Ако апликација садржи било какву грешку, прилагођена страница ће приказати ову грешку кориснику.

У нашем примеру, прво ћемо додати ХТМЛ страницу. Ова страница ће кориснику приказати низ „Истражујемо проблем“. Затим ћемо додати неки код грешке на нашу страницу демо.аспк тако да се страница са грешком прикаже.

Слиједимо доље наведене кораке

Корак 1) Радимо на нашој ДемоАпплицатион. Хајде да додамо ХТМЛ страницу у апликацију

  1. Кликните десним тастером миша на ДемоАпплицатион у Солутион Екплорер-у
  2. Изаберите опцију менија „Додај“ -> ХТМЛ страница

Корак 2) У следећем кораку морамо да дамо име новој ХТМЛ страници.

  1. Наведите име као „ЕррорПаге“.
  2. Кликните на дугме „У реду“ да бисте наставили.

Корак 3) Страница са грешком ће се аутоматски отворити у Висуал Студио-у. Ако одете у Солутион Екплорер, видећете да је датотека додата.

Додајте линију кода „Истражујемо проблем“ на ХТМЛ страницу. Не морате да затворите ХТМЛ датотеку пре него што извршите промену у датотеци веб.цонфиг.

We are looking into the problem

Корак 4) Сада морате да промените датотеку веб.цонфиг. Ова промена обавестиће да када год се у апликацији догоди грешка, мора се приказати страница прилагођене грешке.

Ознака 'цустомЕррорс' омогућава дефинисање странице прилагођене грешке. Својство дефаултРедирецт је постављено на име странице наше прилагођене грешке креиране у претходном кораку.

Корак 5) Хајде сада да додамо неисправан код на страницу демо.аспк.цс. Отворите ову страницу двоструким кликом на датотеку у програму Солутион Екплорер

Додајте доњи код у датотеку Демо.аспк.цс.

  • Ови редови кода су дизајнирани за читање редова текста из датотеке.
  • Датотека би требало да се налази у Д диску са именом „Екампле.ткт“.
  • Али у нашој ситуацији, ова датотека заправо не постоји. Дакле, овај код ће резултирати грешком када се апликација покрене.

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

Сада извршите код у Висуал Студио-у и требали бисте добити доњи излаз.

Излаз: -

Горња страница показује да је у апликацији покренута грешка. Као резултат, кориснику се приказује страница Еррор.хтмл.

Необрађени изузетак АСП.НЕТ

Чак иу најбољим сценаријима могу постојати случајеви грешака које једноставно нису предвиђене.

Претпоставимо да ако корисник пређе на погрешну страницу у апликацији. То је нешто што се не може предвидети. У таквим случајевима АСП.Нет може корисника преусмерити на еррорпаге.хтмл.

Погледајмо пример о томе.

  • Користићемо исту ону 'ДемоАпплицатион' која има Еррорпаге.хтмл.
  • Покушаћемо да прикажемо веб страницу која не постоји у нашој апликацији.
  • У овом случају требали бисмо бити преусмерени на нашу страницу ЕррорПаге.хтмл. Погледајмо кораке за постизање овог.

Корак 1) Радимо на нашој ДемоАпплицатион. Отворите датотеку Глобал.асак.цс из истраживача решења

НАПОМЕНА : Датотека глобал.асак.цс користи се за додавање кода који ће бити применљив на свим страницама апликације.

Корак 2) Додајте доњи ред кода на глобал.асак.цс. Ови редови ће се користити за проверу грешака и приказ странице ЕррорПаге.хтмл у складу с тим.

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. Први ред је руковатељ догађајима Апплицатион_Еррор. Овај догађај се позива кад год се у апликацији догоди грешка. Имајте на уму да назив догађаја мора бити 'Апплицатион_Еррор'. А параметри би требали бити као што је горе приказано.
  2. Даље, дефинишемо објекат типа класе ХттпЕкцептион. Ово је стандардни објекат који садржи све детаље грешке. Затим користимо методу Сервер.ГетЛастЕррор да бисмо добили све детаље последње грешке која се догодила у апликацији.
  3. Затим проверавамо да ли је код грешке последње грешке 404. (Код грешке 404 је стандардни код који се враћа када корисник прегледа страницу која није пронађена). Затим корисника преносимо на страницу ЕррорПаге.хтмл ако се код грешке подудара.

Сада покрените код у Висуал Студио-у и требали бисте добити доњи излаз

Излаз: -

Прегледајте страницу хттп: // лоцалхост: 53003 / Демо1.аспк . Имајте на уму да Демо1.аспк не постоји у нашој апликацији. Тада ћете добити доњи излаз.

Горња страница показује да је у апликацији покренута грешка. Као резултат, кориснику се приказује страница Еррор.хтмл.

АСП.НЕТ евидентирање грешака

Евидентирањем грешака у апликацијама помаже програмеру да отклони грешке и реши их касније. АСП.Нет има могућност евидентирања грешака. То се ради у датотеци Глобал.асак.цс када се грешка ухвати. Током процеса хватања, порука о грешци се може записати у датотеку дневника.

Погледајмо пример о томе.

  • Користићемо исту ону ДемоАпплицатион која има Еррорпаге.хтмл.
  • Покушаћемо да прикажемо веб страницу која не постоји у нашој апликацији.
  • У овом случају требали бисмо бити преусмерени на нашу страницу ЕррорПаге.хтмл.
  • А истовремено ћемо записати поруку о грешци у датотеку дневника. Погледајмо кораке за постизање овог.

Корак 1) Радимо на нашој ДемоАпплицатион. Отворите датотеку Глобал.асак.цс из истраживача решења

Корак 2) Додајте доњи ред кода на глобал.асак.цс. Провериће да ли има грешака и у складу с тим приказати страницу ЕррорПаге.хтмл. Такође ћемо истовремено евидентирати детаље грешке у датотеци која се зове „АллЕррорс.ткт“. За наш пример, написаћемо код да би се ова датотека креирала на Д диску.

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. Прва линија је добијање саме грешке помоћу методе „Сервер.ГетЛастЕррор“. Ово се затим додељује променљивој 'екц'.
  2. Затим креирамо празну променљиву низа која се назива 'стр'. Стварну поруку о грешци добијамо помоћу својства 'екц.Мессаге'. Својство екц.Мессаге имаће тачну поруку за било какву грешку која се догоди приликом покретања апликације. Ово се затим додељује променљивој низа.
  3. Даље, дефинишемо датотеку под називом „АллЕрррорс.ткт“. Овде ће бити послате све поруке о грешкама. Записујемо низ 'стр' који садржи све поруке о грешкама у ову датотеку.
  4. На крају, преносимо корисника у датотеку ЕррорПаге.хтмл.

Излаз: -

Прегледајте страницу хттп: // лоцалхост: 53003 / Демо1.аспк . Имајте на уму да Демо1.аспк не постоји у нашој апликацији. Тада ћете добити доњи излаз.

А истовремено, ако отворите датотеку „АллЕррорс.ткт“, видећете следеће информације.

Порука грешке се затим може касније проследити програмеру ради отклањања грешака.

Резиме

  • АСП.Нет има могућност извођења отклањања грешака и руковања грешкама.
  • Отклањање грешака може се постићи додавањем тачака прекида у код. Затим се покреће опција Покрени са отклањањем грешака у Висуал Студио-у за отклањање грешака у коду.
  • Праћење је могућност пружања више информација током покретања апликације. То се може учинити на нивоу апликације или странице.
  • На нивоу странице, код Траце = труе мора се додати директиви странице.
  • На нивоу апликације креира се додатна страница под називом Траце.акд за апликацију. Ово пружа све потребне информације о праћењу.