Sdílet prostřednictvím


Verwalten der anpassungsfähigen Fehlerberichterstellung in ASP.NET Mobile-Webseiten

Aktualisiert: November 2007

Während der Verarbeitung einer ASP.NET-Seite werden bei Fehlern Ausnahmen ausgelöst, die mit den ASP.NET-Fehlerbehandlungsroutinen behandelt werden.

In diesem Abschnitt finden Sie eine kurze Übersicht über die Fehlerberichterstellung in ASP.NET und ihre Bedeutung für ASP.NET-Anwendungen mit mobilen Webseiten.

Übersicht über die Fehlerberichterstellung in ASP.NET

Bei einer Anforderung können u. a. die folgenden Arten von Fehlern auftreten:

  • HTTP-Fehler, z. B. eine Anforderung einer fehlenden Datei.

  • Fehler beim Analysieren einer Seite, eines Benutzersteuerelements oder einer ähnlichen Datei während der Kompilierung zu einer Assembly.

  • Fehler beim Ausführen einer Webseite in ASP.NET während der Lebensdauer der Seite.

  • Fehler beim Lesen einer Konfigurationsdatei.

  • Systemfehler, z. B. nicht genügend verfügbarer Arbeitsspeicher.

In ASP.NET sind mehrere Features für die benutzerdefinierte Fehlerberichterstattung verfügbar.

Fehlerberichterstellungsmodus

Sie können eine Anwendung so konfigurieren, dass detaillierte Fehlermeldungen mit wichtigen Informationen für Entwickler, einfache Fehlermeldungen für normale Benutzer oder benutzerdefinierte Fehlermeldungen angezeigt werden. Sie können die Einstellungen so anpassen, dass detaillierte Fehlermeldungen nur angezeigt werden, wenn es sich beim Client um den lokalen Computer handelt.

Fehler auf Anwendungsebene

Wenn ein Fehler während einer Anforderung auftritt, löst ASP.NET das Application_Error-Ereignis aus. Eine Methode in der Datei Global.asax kann dieses Ereignis behandeln und Fehlerbehandlungsverhalten überschreiben.

Fehler auf Seitenebene

Fehler, die während der Lebensdauer einer Seite auftreten, lösen das Page_Error-Ereignis aus. Ein Handler für dieses Ereignis kann Benachrichtigungsaufgaben durchführen oder versuchen, korrigierend einzugreifen. Je nach Art des Fehlers zählt dazu auch das Unterdrücken des Fehlers.

Benutzerdefinierte Fehlermeldungen

In der Datei Web.config können Sie eine Gruppe benutzerdefinierter Seiten für Ausnahmen angeben, die in der ASP.NET-Anwendung auftreten. Beim Auftreten eines Fehlers überprüft ASP.NET, ob die Anwendung für die Anzeige von benutzerdefinierten Fehlermeldungen konfiguriert ist und ob eine entsprechende Fehlerseite vorhanden ist. Wenn einer der beiden Fälle zutrifft, leitet ASP.NET zur Fehlerseite um, wobei ein Parameter mit dem ursprünglichen URL übergeben wird.

Übersicht über anpassungsfähigen Fehlerberichte in mobilen Webanwendungen

Die Fehlerberichterstellung in mobilen Webseiten funktioniert genauso wie für andere ASP.NET-Anwendungen auch. Es sind die gleichen Anpassungstechniken verfügbar. Einige Unterschiede im Verhalten verbessern jedoch die Anpassungsfähigkeit der Fehlerberichterstellung in mobilen Webseiten in Bezug auf das Arbeiten mit Geräten.

Gerätespezifische Formatierung

Fehlermeldungen werden automatisch in der Markupsprache des Zielgeräts formatiert. Bei WML-Geräten ist dies ein Kartenstapel. Bei HTML-Geräten ist dies eine HTML-Seite.

68b053yk.alert_note(de-de,VS.90).gifHinweis:

Wenn Sie benutzerdefinierte Fehlerseiten schreiben, empfiehlt es sich, diese als ASP.NET Mobile-Webseiten zu schreiben, sodass die benutzerdefinierten Fehlerseiten für jeden Gerätetyp richtig formatiert werden.

Begrenzte Länge von Standardfehlermeldungen

Mobile Geräte liefern grundsätzlich nur kurze Fehlermeldungen, selbst wenn die Anwendung für die Anzeige detaillierter Meldungen konfiguriert ist. Eine Fehlermeldung enthält für gewöhnlich den Typ der ausgelösten Ausnahme und die Methode, die die Ausnahme ausgelöst hat. Wenn es sich bei dem Client jedoch um einen Desktopbrowser handelt, wird die Standardfehlermeldung wiedergegeben.

HTTP-Antwortcode

Wenn ASP.NET eine Ausnahme meldet, wird der HTTP-Antwortcode so festgelegt, dass die Art des Fehlers erkennbar ist. Der Browser kann auf den Antwortcode reagieren oder die Fehlerdetails im Antworttext anzeigen. Einige mobile Geräte, insbesondere WML-Telefone, zeigen den Antwortcode nur bei einem Fehler an. Wenn ein Fehler für ein solches Gerät auftritt, gibt die Anforderung bei Erfolg den HTTP-Antwortcode 200 zurück, aber der Text der Seite enthält die Fehlermeldung. Auf HTML-Geräten gibt die Anforderung den eigentlichen Fehlercode zurück, damit der Browser dementsprechend antworten kann.

Erstellung anpassungsfähiger Fehlerberichte

Für mobile Webseiten sucht ASP.NET Fehler und meldet sie mithilfe des folgenden Prozesses:

  1. Wenn ein Fehler auf Anwendungsebene auftritt, behandelt ein HTTP-Modul des Typs ErrorHandlerModule den Fehler. (Dieses Modul wird automatisch installiert.)

  2. Wenn während des Lebenszyklus der Seite eine Ausnahme auf Seitenebene auftritt, ruft ASP.NET die OnError-Methode der Seite auf. Da es sich um eine mobile Seite handelt, wird eine Überschreibungsimplementierung in MobilePage aufgerufen, die wiederum die HandleError-Methode des zugeordneten Seitenadapters aufruft. Die Adaptermethode kann einen detaillierten Fehlerbericht erstellen und einen Wert zurückgeben, der die Fehlerbehandlung bestätigt. Wenn kein Wert zurückgegeben wird, wird die Ausnahme weiterverarbeitet. In ASP.NET werden automatisch benutzerdefinierte Fehlerseiten verwendet.

  3. ASP.NET ruft den Fehlerhandler aus Schritt 1 auf. Wenn das Zielgerät ein HTML-Browser ist, der die von ASP.NET erzeugte Fehlermeldung vollständig wiedergeben kann, wird die Methode beendet.

  4. Andernfalls sammelt ASP.NET Informationen über die Ausnahme, erstellt eine Instanz einer intern definierten mobilen Seite vom Typ ErrorFormatterPage, bindet die Daten an die gesammelten Daten und gibt die Ergebnisse wieder. Diese Seite gibt eine gerätespezifische Fehlermeldung aus. Da die Ausnahme behandelt wurde, gibt die Ereignismethode keinen HTTP-Fehlerstatuscode zurück.

Siehe auch

Weitere Ressourcen

Anwendungsentwicklerhandbuch

Entwickeln von ASP.NET Mobile-Webseiten