(0) exportieren Drucken
Alle erweitern

Übersicht über die ASP.NET-Ablaufverfolgung

Aktualisiert: November 2007

Mit der ASP.NET-Ablaufverfolgung können Sie Diagnoseinformationen zu einer Anforderung für eine ASP.NET-Seite anzeigen. Mit der ASP.NET-Ablaufverfolgung können Sie die Ausführungsschritte einer Seite verfolgen, zur Laufzeit diagnostische Informationen anzeigen und die Anwendung debuggen. Die ASP.NET-Ablaufverfolgung kann mit der Ablaufverfolgung auf Systemebene integriert werden, um eine Ablaufverfolgungsausgabe mit mehreren Ebenen in verteilten Anwendungen und Anwendungen mit mehreren Ebenen bereitzustellen.

Dieses Thema enthält folgende Abschnitte:

Die ASP.NET-Ablaufverfolgung bietet folgende Features:

  • Debugging statments    Es können Debuganweisungen im Code geschrieben werden, ohne dass sie vor der Bereitstellung auf Produktionsservern aus der Anwendung entfernt werden müssen. Es können auch Variablen oder Strukturen in eine Seite geschrieben und der Ausführungspfad einer Seite oder Anwendung verfolgt werden.

  • Integrated tracing functionality   Es können Meldungen der System.Diagnostics.Trace-Klasse an die ASP.NET-Ablaufverfolgungsausgabe weitergeleitet sowie umgekehrt Meldungen der ASP.NET-Ablaufverfolgung an System.Diagnostics.Trace weitergeleitet werden. Sie können auch ASP.NET-Instrumentationsereignisse an System.Diagnostics.Trace weiterleiten. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Integrieren der ASP.NET-Ablaufverfolgung und der System.Diagnostics-Ablaufverfolgung.

  • Programmatic access to trace messages   Sie haben Zugriff auf Ablaufverfolgungsmeldungen und können diese programmgesteuert ändern. Dies ermöglicht zum einen genauere Steuerung des Formats von Ablaufverfolgungsmeldungen zum anderen zusätzliche gewünschte Operationen.

  • Application-level tracing   Durch eine Option der Ablaufverfolgung auf Anwendungsebene können die aktuellsten verfügbaren Ablaufverfolgungsdaten angezeigt werden, ohne erneut eine Ablaufverfolgungssitzung zu starten oder die Menge der Ablaufverfolgungsdaten zu erhöhen, die der Server speichern muss. Die aktuellen Ablaufverfolgungsdaten werden angezeigt, und ältere Daten werden verworfen.

Zurück nach oben

Durch Ablaufverfolgung werden Diagnoseinformationen und benutzerdefinierte Ablaufverfolgungsmeldungen an die Ausgabe der Seite angefügt und an den anfordernden Browser gesendet. Optional können diese Informationen in einem separaten Ablaufverfolgungs-Viewer (Trace.axd) anzeigt werden, in dem Ablaufverfolgungsinformationen für jede Seite einer ASP.NET-Webanwendung dargestellt werden. Mithilfe der Ablaufverfolgungsinformationen können Sie Fehler oder unerwünschte Ergebnisse untersuchen, die bei der Verarbeitung einer Seitenanforderung durch ASP.NET auftreten.

Sie können einzelne Seiten so konfigurieren, dass Ablaufverfolgungsinformationen angezeigt werden. Alternativ können Sie die Datei Web.config der Anwendung so konfigurieren, dass die Ablaufverfolgungsinformationen für alle Seiten angezeigt werden, für die die Ablaufverfolgung nicht explizit deaktiviert ist. Das Festlegen der Ablaufverfolgung auf Anwendungsebene ist nützlich, da sie aktiviert und deaktiviert werden kann, ohne einzelne Seiten ändern zu müssen.

Ablaufverfolgungsanweisungen werden nur dann verarbeitet und angezeigt, wenn die Ablaufverfolgung aktiviert ist. Sie können steuern, ob die Ablaufverfolgung auf einer Seite, im Ablaufverfolgungs-Viewer oder auf beide Arten angezeigt wird. Weitere Informationen zum Aktivieren der Ablaufverfolgung für eine Seite finden Sie unter Gewusst wie: Aktivieren der Ablaufverfolgung für eine ASP.NET-Seite. Weitere Informationen zum Aktivieren der Ablaufverfolgung für eine Anwendung finden Sie unter Gewusst wie: Aktivieren der Ablaufverfolgung für eine ASP.NET-Anwendung.

ASP.NET-Ablaufverfolgung auf Anwendungsebene

Die Ablaufverfolgung auf Anwendungsebene wird mit dem trace-Element in der Datei Web.config aktiviert. Wenn Sie die Ablaufverfolgung auf Anwendungsebene aktivieren, erfasst ASP.NET Ablaufverfolgungsinformationen für jede Anforderung an die Anwendung (bis zur angegebenen maximalen Anzahl von Anforderungen). Die Anzahl von Anforderungen liegt standardmäßig bei 10. Wenn der Ablaufverfolgungs-Viewer die Anforderungsgrenze erreicht, beendet die Anwendung standardmäßig die Speicherung der Ablaufverfolgungsanforderungen. Über die Konfiguration der Ablaufverfolgung kann festgelegt werden, ob die ältesten Ablaufverfolgungsinformationen gespeichert und neuere Elemente verworfen werden sollen oder ob die aktuellen Ablaufverfolgungsinformationen gespeichert und die alten verworfen werden sollen.

Bb386420.alert_note(de-de,VS.100).gifHinweis:

Wenn Sie die Ablaufverfolgung für eine gesamte Anwendung in der Datei Web.config aktivieren, werden die Ablaufverfolgungsinformationen für jede Seite in dieser Anwendung erfasst und verarbeitet. Um die Einstellungen der Anwendung zu überschreiben, wird in der @ Page-Direktive einer Seite das Trace-Attribut auf false festgelegt. Alle im Code einer Seite eingefügten Write-Anweisungen und Warn-Anweisungen werden gespeichert und nur an den Ablaufverfolgungs-Viewer zurückgegeben.

Anzeigen von Ablaufverfolgungsinformationen

Ablaufverfolgungsinformationen können am unteren Rand einzelner Seiten angezeigt werden. Wahlweise können mit dem Ablaufverfolgungs-Viewer (Trace.axd) Ablaufverfolgungsinformationen angezeigt werden, die bei aktivierter Ablaufverfolgung von ASP.NET erfasst und zwischengespeichert werden. Informationen zur Ablaufverfolgungsanzeige finden Sie weiter unten in diesem Thema unter Lesen von ASP.NET-Ablaufverfolgungsinformationen.

Wenn die Ablaufverfolgungsinformationen am Ende der zugehörigen Seite angezeigt werden sollen, legen Sie das PageOutput-Attribut des trace-Elements auf true fest. Wenn die Ablaufverfolgung auf Anwendungsebene aktiviert ist, für einige Seiten jedoch keine Ablaufverfolgungsinformationen angezeigt werden sollen, kann in der @ Page-Direktive dieser Seiten das Trace-Attribut auf false festgelegt werden. Weitere Informationen zum Konfigurieren der ASP.NET-Anwendung finden Sie unter Übersicht über die ASP.NET-Konfiguration.

In der Standardeinstellung kann die Ablaufverfolgung auf Anwendungsebene nur auf dem lokalen Webservercomputer angezeigt werden. Damit die Ablaufverfolgungsinformationen auf Anwendungsebene auch auf Remotecomputern angezeigt werden können, müssen Sie das LocalOnly-Attribut des trace-Elements auf false festlegen.

Bb386420.alert_note(de-de,VS.100).gifHinweis:

Zum Schutz der Webanwendungen sollte die Remoteablaufverfolgung nur während der Entwicklung oder der Bereitstellung einer Anwendung aktiviert sein. Stellen Sie sicher, dass sie deaktiviert ist, bevor die Anwendung auf Produktionswebservern installiert wird. Dafür wird in der Datei Web.config das LocalOnly-Attribut auf true festgelegt.

Im folgenden Beispiel wird die Ablaufverfolgung einer Anwendung konfiguriert, in der Ablaufverfolgungsinformationen für bis zu 40 Anforderungen gesammelt werden. Damit können auch Browser auf Computern, die nicht als Server dienen, den Ablaufverfolgungs-Viewer aufrufen.

<configuration>
  <system.web>
    <trace enabled="true" requestLimit="40" localOnly="false" />
  </system.web>
</configuration>

Schreiben von benutzerdefinierten ASP.NET-Ablaufverfolgungsmeldungen

Benutzerdefinierte Ablaufverfolgungsinformationen können an die Ablaufverfolgungsanzeige einer ASP.NET-Seite oder das Ablaufverfolgungsprotokoll angehängt werden. Ablaufverfolgungsinformationen, die in das Ablaufverfolgungsprotokoll geschrieben sind, können mit dem Ablaufverfolgungs-Viewer angezeigt werden. Weitere Informationen finden Sie unter Gewusst wie: Anzeigen von ASP.NET-Ablaufverfolgungsinformationen mit dem Ablaufverfolgungs-Viewer.

Ablaufverfolgungsinformationen können mit der Warn-Methode oder der Write-Methode der TraceContext-Klasse geschrieben werden. Der Unterschied zwischen beiden Methoden ist, dass mit der Warn-Methode geschriebene Meldungen in rotem Text angezeigt werden.

Das folgende Beispiel zeigt, wie mit der TraceContext-Klasse Ablaufverfolgungsinformationen am Ende einer ASP.NET-Seite angezeigt werden. Für jedes LinkButton-Steuerelement, das das Postback verursacht hat, wird eine andere Ausnahme ausgelöst. Die Fehlermeldung, die zum Initialisieren der ArgumentException-Instanz oder der InvalidOperationException-Instanz verwendet wird, wird im Ablaufverfolgungsprotokoll angezeigt.

<%@ Page Language="C#" Trace="true"  %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<script runat="server">
void Page_Load(object sender, EventArgs e)
{
    try {
      if (IsPostBack)
      {

        switch (Request.Form["__EVENTTARGET"])
        {
          case "WarnLink":
            throw new ArgumentException("Trace warn.");
            break;
          case "WriteLink":
            throw new InvalidOperationException("Trace write.");
            break;
          default:
            throw new ArgumentException("General exception.");
            break;          
        }
      }
    }
    catch (ArgumentException ae) {    
        Trace.Warn("Exception Handling", "Warning: Page_Load.", ae);
    }
    catch (InvalidOperationException ioe) {    
        Trace.Write("Exception Handling", "Exception: Page_Load.", ioe);
    }
}

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Trace Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:LinkButton id="WriteLink" 
                      runat="server"
                      text="Generate Trace Write" />
      <asp:LinkButton id="WarnLink"
                      runat="server"
                      text="Generate Trace Warn" />
    </div>
    </form>
</body>
</html>


Lesen von ASP.NET-Ablaufverfolgungsinformationen

Ablaufverfolgungsinformationen können als Anfügung am Ende einer ASP.NET-Seite oder im Ablaufverfolgungs-Viewer angezeigt werden. In beiden Fällen werden dieselben Informationen angezeigt. ASP.NET organisiert die Ablaufverfolgungsinformationen in verschiedenen Tabellen. Informationen zur Anzeige von Ablaufverfolgungsinformationen in einer Seite finden Sie unter Gewusst wie: Aktivieren der Ablaufverfolgung für eine ASP.NET-Seite. Informationen zur Anzeige von Ablaufverfolgungsinformationen im Ablaufverfolgungs-Viewer finden Sie unter Gewusst wie: Anzeigen von ASP.NET-Ablaufverfolgungsinformationen mit dem Ablaufverfolgungs-Viewer.

Ablaufverfolgungsinformationen werden in der folgenden Reihenfolge angezeigt.

Anforderungsdetails

Der Anforderungsdetails-Abschnitt zeigt allgemeine Informationen über die aktuelle Anforderung und die aktuelle Antwort an.

Value

Beschreibung

Sitzungs-ID

Die Sitzungs-ID für die angegebene Anforderung.

Anforderungszeitpunkt

Der Zeitpunkt, zu dem die Anforderung erfolgte.

Anforderungscodierung

Die Zeichencodierung für die Anforderung.

Anforderungstyp

Die HTTP-Methode (GET oder POST).

Statuscode

Der mit der Antwort verknüpfte Statuscodewert. Weitere Informationen finden Sie unter RFC 2616 auf der World Wide Web Consortium (W3C)-Website.

Antwortcodierung

Die Zeichencodierung für die Antwort.

Ablaufverfolgungsinformationen

Der Ablaufverfolgungsinformationen-Abschnitt zeigt den Ablauf der Ereignisse auf Seitenebene an. Wenn Sie benutzerdefinierte Ablaufverfolgungsmeldungen erstellt haben, werden auch diese Meldungen im Ablaufverfolgungsinformationen-Abschnitt angezeigt.

Value

Beschreibung

Kategorie

Die benutzerdefinierte Ablaufverfolgungskategorie, die evtl. in einem Warn-Methodenaufruf oder einem Write-Methodenaufruf angegeben wurde.

Nachricht

Die benutzerdefinierte Ablaufverfolgungsmeldung, die evtl. in einem Warn-Methodenaufruf oder einem Write-Methodenaufruf angegeben wurde.

Von ersten

Die abgelaufene Zeit in Sekunden, seit die erste Ablaufverfolgungsmeldung verarbeitet wurde. Die erste Ablaufverfolgungsmeldung wird oben in der Liste angezeigt.

Von letzten

Die abgelaufene Zeit in Sekunden zwischen der Verarbeitung der aktuellen und der vorherigen Ablaufverfolgungsmeldung.

Steuerelementstruktur

Der Steuerelementstruktur-Abschnitt zeigt Informationen über in der Seite erstellte ASP.NET-Serversteuerelemente an.

Value

Beschreibung

Steuerelement-ID

Der Bezeichner des Steuerelements. Wenn für das Steuerelement keine ID-Eigenschaft angegeben wurde, generiert ASP.NET mit der UniqueID-Eigenschaft eine ID-Eigenschaft.

Type

Der voll gekennzeichnete Typ des Steuerelements.

Wiedergabegröße in Bytes

Die Größe des gerenderten Steuerelements (einschließlich untergeordneter Steuerelemente) in Bytes. Dabei handelt es sich um die Größe des tatsächlichen HTML-, XML- oder sonstigen Formats, das an den Browser gesendet wird.

ViewState-Größe in Bytes

Die Größe des Ansichtszustands des Steuerelements (ohne untergeordnete Steuerelemente) in Bytes. Weitere Informationen hierzu finden Sie unter Übersicht über die ASP.NET-Zustandsverwaltung.

ControlState-Größe in Bytes

Die Größe des Steuerelementzustands für das Steuerelement (ohne untergeordnete Steuerelemente) in Bytes. Weitere Informationen hierzu finden Sie unter Übersicht über die ASP.NET-Zustandsverwaltung.

Sitzungszustand

Der Sitzungszustand-Abschnitt zeigt Informationen über die im Sitzungszustand gespeicherten Werte an, falls welche vorhanden sind. Weitere Informationen hierzu finden Sie unter Übersicht über den ASP.NET-Sitzungszustand.

Value

Beschreibung

Sitzungsschlüssel

Der Schlüssel für eventuell im Sitzungszustand gespeicherte Daten.

Type

Der vollqualifizierte Typ des Objekts, das die Daten speichert.

Value

Eine Zeichenfolgendarstellung der Daten, die ggf. im Sitzungszustand gespeichert werden.

Anwendungszustand

Der Anwendungszustand-Abschnitt zeigt ggf. Informationen über die im Anwendungszustand gespeicherten Werte an. Weitere Informationen hierzu finden Sie unter Übersicht über den ASP.NET-Anwendungszustand.

Value

Beschreibung

Anwendungsschlüssel

Der Schlüssel für eventuell im Anwendungszustand gespeicherte Daten.

Type

Der vollqualifizierte Typ des Objekts, das die Daten speichert.

Value

Eine Zeichenfolgendarstellung der Daten, die ggf. im Anwendungszustand gespeichert werden.

Cookieauflistung

Der Antwortcookies-Abschnitt und der Anforderungscookies-Abschnitt enthalten Informationen über die Cookies, die in den einzelnen Anforderungs-Antwort-Zyklen zwischen Browser und Server übergeben werden. Der Abschnitt zeigt sowohl permanente Cookies als auch Sitzungscookies an. ASP.NET erstellt einige Cookies automatisch, z. B. Cookies für den cookiebasierten Sitzungszustand oder die cookiebasierte Formularauthentifizierung. Weitere Informationen finden Sie unter Übersicht über ASP.NET-Cookies.

Value

Beschreibung

Name

Der Name des Cookies.

Value

Der Wert des Cookies oder – bei mehrwertigen Cookies – die Unterschlüssel und Werte.

Größe

Die Größe des Cookies in Bytes.

Headerauflistung

Der Headerauflistung-Abschnitt zeigt Informationen über Name-Wert-Paare im Header von Anforderungs- und Antwortmeldungen, die Informationen über den Meldungstext oder die angeforderte Ressource bereitstellen. Mit den Headerinformationen werden die Verarbeitung der Anforderungsmeldungen und die Erstellung der Antwortmeldungen gesteuert. Weitere Informationen über HTTP-Header finden Sie im RFC 2616 auf der World Wide Web Consortium (W3C)-Website.

Value

Beschreibung

Name

Der Name des Headers.

Value

Der Wert des Headers.

Formularauflistung

Der Formularauflistung-Abschnitt enthält Name-Wert-Paare, die die Formularelementwerte (Steuerelementwerte) anzeigen, die in einer Anforderung während einer POST-Operation (Postback) übermittelt werden.

Value

Beschreibung

Name

Der Name der Formularvariablen.

Value

Der Wert der Formularvariablen.

Auflistung der Abfragezeichenfolgen

Im Auflistung der Abfragezeichenfolgen-Abschnitt werden die Werte angezeigt, die in der URL übergeben werden. In einer URL werden Abfragezeichenfolgen-Informationen von den Pfadinformationen durch ein Fragezeichen (?) getrennt; mehrere Abfragezeichenfolgen-Elemente werden durch ein kaufmännisches Und-Zeichen (&) getrennt. Die Name-Wert-Paare einer Abfragezeichenfolge werden durch ein Gleichheitszeichen (=) getrennt. Die QueryString-Eigenschaft des HttpRequest-Objekts gibt eine NameValueCollection von Abfragezeichenfolgen-Variablen zurück.

Value

Beschreibung

Name

Der Name der Abfragezeichenfolgen-Variablen.

Value

Der Wert der Abfragezeichenfolgen-Variablen.

Servervariablen

Der Servervariablen-Abschnitt zeigt eine Auflistung serverbezogener Umgebungsvariablen und Anforderungsheaderinformationen an. Die ServerVariables-Eigenschaft des HttpRequest-Objekts gibt eine NameValueCollection von Servervariablen zurück.

Value

Beschreibung

Name

Der Name der Servervariablen.

Value

Der Wert der Servervariablen.

Zurück nach oben

ASP.NET-Ablaufverfolgung und Diagnosenachverfolgung

Die ASP.NET-Ablaufverfolgung generiert Meldungen, die auf den ASP.NET-Webseiten und im ASP.NET-Ablaufverfolgungs-Viewer (Trace.axd) angezeigt werden. Im Gegensatz dazu können mit der System.Diagnostics.Trace-Klasse Ablaufverfolgungsmeldungen in die standardmäßige .NET Framework-Ablaufverfolgungsausgabe (in der Regel ein Konsolenfenster) geschrieben werden. Damit die Interaktion zwischen ASP.NET-Webseiten und Geschäftsobjekten oder anderen Komponenten besser protokolliert werden kann, können Sie die ASP.NET-Ablaufverfolgungsausgabe mit der System.Diagnostics-Ablaufverfolgung zusammenführen. Alle Ablaufverfolgungsmeldungen können dann zu einer dieser Ausgaben weitergeleitet werden.

Zu den häufig vorkommenden Szenarios, in denen sowohl die ASP.NET-Ablaufverfolgung als auch System.Diagnostics.Trace verwendet werden, zählen Webseiten, die unter Verwendung von Geschäftsobjekten der mittleren Ebene mit Daten und Geschäftsregeln interagieren. Es kann auch die System.Diagnostics.Trace-Ablaufverfolgung für Seiten verwendet werden, die Unternehmensdienste wie Transaktionen und Warteschlangen verwenden. In diesen Fällen kommt den Geschäfts- und Unternehmenskomponenten eine Schlüsselrolle bei der erfolgreichen Ausführung der Seite zu. Zudem lässt sich so bei der Analyse der Anwendung der Ausführungsfluss zwischen den verschiedenen Ebenen durch eine einheitliche Ablaufsverfolgungsausgabe besser überwachen. Weitere Informationen finden Sie unter Gewusst wie: Aktivieren der Ablaufverfolgung für eine ASP.NET-Anwendung.

Attribute der Ablaufverfolgungskonfiguration

In der folgenden Tabelle werden die Attribute gezeigt, die zur Steuerung des Verhaltens der Ablaufverfolgung auf Anwendungsebene im trace-Element der Datei Web.config verwendet werden können.

Attribut

Beschreibung

Enabled

Ist true, um die Ablaufverfolgung für die Anwendung zu aktivieren; andernfalls false. Die Standardeinstellung ist false. Diese Einstellung kann für einzelne Seiten überschrieben werden, indem das Trace-Attribut in der @ Page-Direktive einer Seiten auf true oder false festgelegt wird.

PageOutput

Ist true, wenn Ablaufverfolgungsinformationen sowohl auf den Seiten als auch im Ablaufverfolgungs-Viewer (Trace.axd) angezeigt werden sollen; andernfalls false. Die Standardeinstellung ist false.

Bb386420.alert_note(de-de,VS.100).gifHinweis:
Seiten, für die die Ablaufverfolgung aktiviert ist, sind von dieser Einstellung nicht betroffen.

RequestLimit

Die Anzahl der Ablaufverfolgungsanforderungen, die auf dem Server gespeichert werden. Der Standardwert ist 10.

TraceMode

Die Reihenfolge, in der die Ablaufverfolgungsinformationen angezeigt werden. Bei der Einstellung SortByTime entspricht die Sortierreihenfolge der Verarbeitungsreihenfolge der Informationen. Durch SortByCategory werden die Informationen nach benutzerdefinierter Kategorie alphabetisch sortiert. Die Standardeinstellung ist SortByTime.

LocalOnly

Ist true, wenn der Ablaufverfolgungs-Viewer (Trace.axd) nur auf dem Hostwebserver verfügbar sein soll; andernfalls false. Die Standardeinstellung ist true.

MostRecent

true für die Anzeige der aktuellen Ablaufverfolgungsinformationen als Ablaufverfolgungsausgabe; andernfalls false. Wenn bei Überschreitung des requestLimit-Werts dieser Wert false ist, werden keine neuen Anforderungen gespeichert. Der Standardwert ist false.

Bb386420.alert_note(de-de,VS.100).gifHinweis:
Ältere Ablaufverfolgungsinformationen werden bei Überschreitung des im requestLimit-Attribut definierten Grenzwerts nur dann zugunsten der aktuellen Daten verworfen, wenn mostRecent auf true festgelegt ist.

Klasse

Beschreibung

System.Diagnostics.Trace

Die Hauptklasse zur Implementierung der Ablaufverfolgung.

TraceContext

Fasst Einzelheiten zur Ausführung einer Webanforderung zusammen und stellt diese dar.

Zurück nach oben

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft