Wer kennt es nicht?
Auf meinem Rechner lief alles noch einwandfrei, aber auf dem Server bekomme ich eine Fehlermeldung nach der Anderen.
Die Steigerung des Ganzen stellt dann meist noch ein Server dar, über den ich nicht die komplette Kontrolle habe.
Deshalb stelle ich in diesem Blog Post einige Diagnosemöglichkeiten vor, die Visual Studio für die Windows Azure Web Sites bietet …
Das Wichtigste Zuerst:
Für die hier gezeigten Funktionalitäten muss das Windows Azure SDK 2.2 oder höher installiert sein. 😉
Remote Debugging
Starten möchte ich mit offensichtlichsten – dem Remote Debugging.
Nachdem man ein ASP.NET Projekt in einer Windows Azure Web Site veröffentlicht hat, lässt sich der Visual Studio Debugger über den Server Explorer mit dem entsprechenden Prozess verbinden:
Ein Problem das mir dabei immer wieder begegnet, sind die fehlenden Debugging Symbole.
Damit diese auch in Windows Azure zur Verfügung stehen, muss beim Veröffentlichen die Debug-Konfiguration ausgewählt sein:
Sobald die Symbole vorhanden sind, sowie der Debugger sich verbunden hat, öffnet sich ein Browserfenster und das ASP.NET Projekt lässt sich wie gewohnt mit Visual Studio debuggen:
Besonderheiten bei Visual Studio 2012
Was bei Visual Studio 2013 mit einem Klick zu bewerkstelligen ist, ist bei Visual Studio 2012 mit ein wenig mehr Aufwand verbunden:
- Am Windows Azure Management Portal anmelden und zum Configure-Bereich der entsprechenden Web Site navigieren.
-
In der Site Diagnostics-Sektion das Remote Debugging einschalten und die Visual Studio Version 2012 auswählen:
- Zurück zu Visual Studio und im Debug-Menü auf Attach to Process klicken.
-
In der Qualifier-Textbox muss dann die URL zur Windows Azure Web Site (ohne http:// Prefix) angegeben, sowie die Show processes from all users-Checkbox angehakt werden.
Bei der Frage nach Benutzer und Passwort, müssen die Daten für das Veröffentlichen von Windows Azure Web Sites verwendet werden.
Diese kann man u.a. aus dem heruntergeladenen Publish Profile-Dateien beziehen (userName= und userPWD=). - In der Available Processes-Tabelle die w3wp.exe auswählen und auf Attach klicken.
-
Im Browser die Webseite öffnen.
Es kann bis zu 20 Sekunden dauern, bis Windows Azure den Server für das Debugging vorbereitet hat.
Log Streaming
Eine weitere Möglichkeit stellt das Log Streaming dar.
Dabei können das Application- sowie das Web Server-Log in das Visual Studio Output Fenster gestreamt werden.
Application Log
Über das Application Log lassen sich die Trace-Einträge der Applikation anzeigen.
Um das Application Logging zu aktivieren, kann man zwar ins Windows Azure Management Portal wechseln, aber auch die Änderungen bequem über den Visual Studio Server Explorer durchführen.
Dazu wählt man den Punkt View Settings im Kontextmenü der entsprechenden Web Site aus:
Und stellt dann den entsprechenden Level für das Application Logging ein:
Danach wählt man im Kontextmenü den Punkt View Streaming Logs in Output Windows aus, …
… um die Live-Ansicht des Application-Logs anzuzeigen:
Web Server Log
Auch das Web Server Log lässt sich auf diese Weise anzeigen.
Dazu muss man zuerst das Web Server Logging aktivieren …
… und anschließend in den Windows Azure Logging Optionen die Web Server logs auswählen:
Daraufhin werden zusätzlich die Einträge aus dem Web Server Log mit angezeigt:
Herunterladen der im Dateisystem gespeicherten Logs
Die im Dateisystem der Web Site erzeugten Logs können zusätzlich heruntergeladen werden.
Dies kann über FTP, dem Download-Button im Output-Fenster …
… oder den Download-Link im Einstellungsfenster durchgeführt werden:
Logs im Windows Azure Storage persistieren
Zusätzlich zu den bislang gezeigten Möglichkeiten, können die Logs im Windows Azure Table- oder Blob-Storage gespeichert werden.
Dazu wechselt man ins Management Portal und navigiert zum Configure-Bereich der Web Site.
Im der Sektion Application Diagnostics können die entsprechenden Einstellungen für den Windows Azure Table Storage …
… und/oder Blob Storage durchgeführt werden:
Danach können beispielsweise die Log-Einträge, die im Table Storage gespeichert wurden, in Visual Studio angezeigt werden:
Weitere Informationen:
Verwendete Bildquellen:
© Hans-Joachim Köhn / pixelio.de