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.
Sie können nicht nur messagebox.write aufrufen, weil Sie vom Client getrennt sind. Sie sollten JavaScript-Code registrieren, der eine Messagebox anzeigt:
%Vor%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.
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%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.
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
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%Tags und Links c# asp.net web-applications messagebox