Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ASP.NET Core özel durum işleyicisi ara yazılımı artık varsayılan olarak IExceptionHandler tarafından işlenen özel durumlar için tanılamaları kaydetmemektedir.
Sürüm kullanıma sunulmuştur
.NET 10 Preview 7
Önceki davranış
Daha önce, özel durum işleyici ara yazılımı tarafından işlenen IExceptionHandler özel durumları hakkında tanılama bilgileri kaydedildi.
Özel durum tanılamaları şunlardır:
-
UnhandledExceptionadresinden ILogger adresine günlüğe kaydetme. -
Microsoft.AspNetCore.Diagnostics.HandledExceptionolayını Microsoft.Extensions.Logging.EventSource öğesine yazma. -
error.typeetiketinihttp.server.request.durationmetriğe ekleme.
Yeni davranış
.NET 10'dan itibaren, IExceptionHandler.TryHandleAsynctrue döndürürse, istisna tanılamaları artık varsayılan olarak kaydedilmez.
Kesinti yaratan değişiklik türü
Bu değişiklik davranışsal bir değişikliktir.
Değişiklik nedeni
ASP.NET Core kullanıcıları önceki davranışın istenmeyen bir davranış olduğuna ilişkin geri bildirimde bulundu. Onların IExceptionHandler uygulaması, istisnanın işlendiğini bildirdi, ancak hata yönetim orta katman yazılımı yine de hatayı uygulamanın telemetrisine kaydetti.
ASP.NET Core artık özel durumu işlerken IExceptionHandler tanılamayı gizleyerek kullanıcılar tarafından beklenen davranışı izler. Gerekirse özel durum tanılama davranışını özelleştirmek için yapılandırma seçenekleri de kullanılabilir.
Önerilen eylem
İşlenen özel durumların telemetriyi kaydetmeye devam etmesini istiyorsanız, yeni ExceptionHandlerOptions.SuppressDiagnosticsCallback seçeneğini kullanabilirsiniz.
app.UseExceptionHandler(new ExceptionHandlerOptions
{
SuppressDiagnosticsCallback = context => false;
});
context geri çağırma işlevine gönderilen, özel durum, istek ve özel durumun işlenip işlenmediği hakkında bilgi içerir. Geri çağırma, tanılamanın gizlenmemesi gerektiğini ve böylece önceki davranışın geri yüklenmesi gerektiğini belirtmek için döndürür false .