70-562: Troubleshooting a Running ASP.NET Application

Artykuł pochodzi w serii przygotowań do egzaminu 70-562 ASP.NET.

Nie wszystkie problemy z aplikacją ASP.NET mogą zostać znalezione za pomocą Visual Studio. Dlatego ASP.NET udostępnia możliwość śledzenia oraz sprawdzenia sposobu wykonywania się kodu aplikacji w środowisku testów oraz produkcyjnym. Dzięki czemu programista może zbadać działanie aplikacji podczas problemów, które jest trudno odtworzyć na maszynie developerskiej.

Tracing

Tracing (śledzenie) jest procesem zwracania programiście informacji o działającej aplikacji. W ASP.NET dane te zostają zapisane do pliku, który później można przejrzeć za pomocą przeglądarki. Dane te zawierają ważne dane o aplikacji. Takie jak: kto odwiedza witrynę, rezultaty jakie są otrzymywane, jak wyglądają dane protokołu HTTP i wiele, wiele innych.

Uruchomić Tracing można na dwa sposoby (które tak na prawdę robią to samo): za pomocą narzędzia administracyjnego witryny sieci Web oraz dodając odpowiedni wpis w pliku konfiguracyjnym Web.config.

Aby włączyć Tracing za pomocą narzędzia administracyjnego witryny sieci Web, uruchamiany to narzędzie za pomocą ikony w solution explorer (taki “globus z motkiem”). Następnie przechodzimy do zakładki Aplikacja i tam mamy link do strony konfiguracji debugowania oraz śledzenia. Na stronie tej zaznaczamy “Przechwytuj informacje o śledzeniu”. Dodatkowo możemy sobie ustawić różne ustawieni śledzenia. Poniżej screen strony:

image

Narzędzia administracyjne witryny sieci web tak naprawdę dodaje odpowiedni wpis w pliku konfiguracyjnym Web.config. To samo można było zrobić dodając poniższy fragment do tego pliku:

   1: <trace enabled="true"
   2:        requestLimit="100"
   3:        pageOutput="false"
   4:        traceMode="SortByTime"
   5:        localOnly="false"
   6:        mostRecent="true" />

Gdzie kolejne opcje oznaczają:

  • enabled – ustawienie na wartość true powoduje uruchomienie w aplikacji Tracing
  • requestLimit – ilość rekordów przechowywanych w cachu lub pliku logów
  • pageOutput – za pomocą tej opcji można ustawić, czy informację o Tracing są wyświetlane na poszczególnych stronach (dane te wyświetlają są na samym końcu strony)
  • traceMode – sposób sortowania wpisów
  • localOnly – możliwość ustawienia, że informację będę wyświetlana tylko dla lokalnych połączeń do witryny
  • mostRecent – ustawienie przechowywania informacji o ostatnich żądaniach do strony

Informacje zbierane przez Tracing można wyświetlić na dwa sposoby: otworzyć stronę trace.axd w głównym katalogu aplikacji lub ustawić wyświetlanie informacji na poszczególnych stronach (na takiej stronie trzeba ustawić właściwość Trace na true w dyrektywie Page na samej górze strony).

Programista może sobie sam programowo dodać wpisy do mechanizmu Tracing. W przestrzeni nazw System.Diagnostics znajduje się klasa Trace, która posiada metodę write dodającą wpis do mechanizmu Tracing. Przykładowa wywołanie metody to:

   1: Trace.Write("Kategoria", "Test");

Gdzie wpis znajdzie się w kategorii “Kategoria”, a jego treść to “Test”.

Monitorowanie aplikacji

Mechanizm Tracing bardzo przydaje się do znajdowania błędów i problemów z poszczególnymi stronami. Z drugiej strony bardzo często programista potrzebuje otrzymać informacji o działaniu całej aplikacji. ASP.NET zawiera szereg klas umożliwiających monitorowania działania strony. Monitorowane są zdarzenia wywoływane przez aplikację.

Aby uruchomić monitorowanie wystarczy dodać do pliku konfiguracyjnego web.config odpowiedni wpis. Poniżej przykład:

   1: <healthMonitoring enabled="true" heartbeatInterval="1">
   2:   <rules>
   3:     <add name="Heart Beat"
   4:          eventName="Hearbeats"
   5:          profile="EventLogProvider"
   6:          provider="Default"/>
   7:   </rules>
   8: </healthMonitoring>

Tagi: , , , ,

Add comment




  Country flag
biuquote
  • Comment
  • Preview
Loading


Eastgroup.pl na facebooku