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:

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>