Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Vor ASP.NET Core 5.0 führt die Middleware der Ausnahmehandler den konfigurierten Ausnahmehandler aus, wenn eine Ausnahme aufgetreten ist. Wenn der über konfigurierte ExceptionHandlingPathAusnahmehandler nicht gefunden werden kann, wird eine HTTP 404-Antwort erstellt. Die Antwort ist irreführend, da sie:
- Scheint ein Benutzerfehler zu sein.
- Verdeckt die Tatsache, dass eine Ausnahme auf dem Server aufgetreten ist.
Um den irreführenden Fehler in ASP.NET Core 5.0 zu beheben, löst die ExceptionHandlerMiddleware
ursprüngliche Ausnahme aus, wenn der Ausnahmehandler nicht gefunden werden kann. Daher wird eine HTTP 500-Antwort vom Server erstellt. Die Antwort kann in den Serverprotokollen leichter untersucht werden, wenn der aufgetretene Fehler gedebuggt wird.
Weitere Informationen finden Sie im GitHub-Issue dotnet/aspnetcore#25288.
Eingeführte Version
5.0 RC 1
Altes Verhalten
Die Middleware des Ausnahmehandlers erzeugt eine HTTP 404-Antwort, wenn der konfigurierte Ausnahmehandler nicht gefunden werden kann.
Neues Verhalten
Die Middleware des Ausnahmehandlers löst die ursprüngliche Ausnahme aus, wenn der konfigurierte Ausnahmehandler nicht gefunden werden kann.
Grund für Änderung
Der HTTP 404-Fehler macht nicht deutlich, dass eine Ausnahme auf dem Server aufgetreten ist. Diese Änderung erzeugt einen HTTP 500-Fehler, um folgendes offensichtlich zu machen:
- Das Problem wird nicht durch einen Benutzerfehler verursacht.
- Auf dem Server ist eine Ausnahme aufgetreten.
Empfohlene Aktion
Es gibt keine API-Änderungen. Alle vorhandenen Apps werden weiterhin kompiliert und ausgeführt. Die ausgelöste Ausnahme wird vom Server behandelt. Die Ausnahme wird beispielsweise von Kestrel oder HTTP.sysin eine HTTP 500-Fehlerantwort konvertiert.
Betroffene APIs
Nichts