So zeigen Sie eine Fehlermeldung in einer Webanwendung asp.net c # an

7

Ich habe eine ASP.NET-Webanwendung und wollte wissen, wie ich eine Fehlermeldung anzeigen kann, wenn eine Ausnahme ausgelöst wird.

Zum Beispiel

%Vor%

[Das Meldungsfeld zeigt den Fehler]

Danke

    
zohair 16.03.2009, 18:22
quelle

7 Antworten

12

Sie können keine sinnvolle Meldung auf dem Clientcomputer oder dem Server anzeigen. Für den Computer des Clients möchten Sie möglicherweise auf eine Fehlerseite mit einer entsprechenden Fehlermeldung umleiten, die möglicherweise die Ausnahmebedingungsnachricht und die Stapelprotokollierung enthält, wenn Sie möchten. Auf dem Server möchten Sie wahrscheinlich eine Protokollierung durchführen, entweder im Ereignisprotokoll oder in einer Protokolldatei.

%Vor%

Beachten Sie, dass das obige "log" von Ihnen implementiert werden müsste, möglicherweise mit log4net oder einem anderen Protokollierungsdienstprogramm.

    
tvanfosson 16.03.2009, 18:25
quelle
12

Sie können nicht nur messagebox.write aufrufen, weil Sie vom Client getrennt sind. Sie sollten JavaScript-Code registrieren, der eine Messagebox anzeigt:

%Vor%     
Michiel Overeem 16.03.2009 18:26
quelle
4

Mit MessageBox.Show () würde ein Meldungsfeld auf dem Server angezeigt und der Thread daran gehindert, weitere Anforderungen zu verarbeiten, es sei denn, das Feld ist geschlossen.

Was Sie tun können, ist

%Vor%

Dies würde die Ausnahme auf der Client-Seite anzeigen, vorausgesetzt, die Ausnahme wird nicht durchgeblasen.

    
Ramesh 16.03.2009 18:28
quelle
2

Wie ich das in der Vergangenheit gemacht habe, befüllen Sie etwas auf der Seite mit Informationen, wenn eine Ausnahme ausgelöst wird. MessageBox ist für Windows-Formulare und kann nicht für Webformulare verwendet werden. Ich nehme an, Sie könnten etwas Javascript auf die Seite stellen, um eine Warnung zu machen:

%Vor%     
Perchik 16.03.2009 18:27
quelle
1

Ich würde nicht denken, dass Sie die Details der Ausnahme zeigen möchten. Wir mussten damit aufhören, weil einer unserer Kunden nicht wollte, dass seine Benutzer alles sehen, was in den Ausnahmedetails verfügbar war. Versuchen Sie, ein JavaScript-Fenster mit einigen Informationen anzuzeigen, die erklären, dass ein Problem aufgetreten ist.

    
Jeremy Cron 16.03.2009 18:28
quelle
1

Wenn Sie alle Ihre Fehler an einem einzigen Ort behandeln möchten, können Sie die Datei global.asax (auch als globale Anwendungsdatei bezeichnet) Ihrer Webanwendung verwenden und mit dem Anwendungsfehlerereignis arbeiten. Es geht so vor 1. Du fügst dem Projekt die globale Anwendungsdatei hinzu, dann stellst du beim Ereignis Application_Error einen Fehlerbehandlungscode ein, wie folgt:

%Vor%

Dies protokolliert die technischen Details Ihrer Ausnahme im Systemereignisprotokoll (falls Sie den Fehler später überprüfen müssen) Dann erfassen Sie in Ihrer ErrorPage.aspx die Ausnahmebedingungsnachricht aus der Querystring bei dem Ereignis Page Load. Wie Sie es anzeigen können, liegt bei Ihnen (Sie können den JavaScript-Hinweis, der für die anderen Antworten vorgeschlagen wird, verwenden oder den Text einfach an ein asp.net-Literal übergeben.

Hoffen Sie, dass er hilft. Prost

    
Jaime 26.06.2011 05:47
quelle
1

Wenn Sie .NET Core mit MVC und Razor verwenden, haben Sie mehrere Stufen der Vorverarbeitung, bevor Ihre Seite gerendert wird. Dann schlage ich vor, dass Sie versuchen, eine bedingte Fehlermeldung am oberen Rand Ihrer Ansichtsseite einzufügen:

In ViewController.cs:

%Vor%

In View.cshtml:

%Vor%     
Ulf Lunde 24.03.2017 14:28
quelle