Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
ASP.NET Core-undantagshanterarens mellanvara registrerar inte längre diagnostik för undantag som hanteras av IExceptionHandler som standard.
Version lanserad
.NET 10 Förhandsversion 7
Tidigare beteende
Tidigare registrerade undantagshanteraren mellanprogram diagnostik om undantag som hanteras av IExceptionHandler.
Undantagsdiagnostiken är:
- Logga in
UnhandledExceptionpå ILogger. - Skriva händelsen
Microsoft.AspNetCore.Diagnostics.HandledExceptiontill Microsoft.Extensions.Logging.EventSource. - Lägga till taggen
error.typei måttethttp.server.request.duration.
Nytt beteende
Från och med .NET 10 registreras undantagsdiagnostik inte längre som standard om IExceptionHandler.TryHandleAsync returnerar true.
Typ av brytande ändring
Den här ändringen är en beteendeförändring.
Orsak till ändring
ASP.NET Core-användare har gett feedback om att det tidigare beteendet var oönskat. Deras IExceptionHandler-implementation rapporterade att undantaget hanterades, men felhanteringsmiddleware registrerade fortfarande felet i appens telemetri.
ASP.NET Core följer nu det beteende som användarna förväntar sig genom att ignorera diagnostik när IExceptionHandler de hanterar undantaget. Konfigurationsalternativ är också tillgängliga för att anpassa beteendet för undantagsdiagnostik om det behövs.
Rekommenderad åtgärd
Om du vill att hanterade undantag ska fortsätta att registrera telemetri kan du använda det nya alternativet ExceptionHandlerOptions.SuppressDiagnosticsCallback.
app.UseExceptionHandler(new ExceptionHandlerOptions
{
SuppressDiagnosticsCallback = context => false;
});
Det context som skickas till återanropet innehåller information om undantaget, begäran och om undantaget hanterades. Återanropet returnerar false för att indikera att diagnostik inte ska ignoreras, vilket återställer det tidigare beteendet.