AddProvider überprüft auf Nicht-NULL-Anbieter
Microsoft.Extensions.Logging.LoggerFactory implementiert ILoggerFactory mit einer AddProvider(ILoggerProvider)
-Methode. null
-Anbieter werden nicht akzeptiert und führen zum Auslösen einer ArgumentNullException.
Eingeführt in Version
6.0 RC 1
Vorheriges Verhalten
Bisher hat AddProvider(ILoggerProvider) keine Validierung des Arguments provider
durchgeführt. Daher hat die Methode null
als „gültigen“ Anbieter betrachtet und der Auflistung von Anbietern hinzugefügt.
Neues Verhalten
Ab .NET 6 werden null
-Anbieter nicht akzeptiert und AddProvider(ILoggerProvider) löst eine ArgumentNullException aus, wenn das Argument für den Protokollierungsanbieter null
ist. Der folgende Code löst z. B. eine ArgumentNullException aus:
var factory = new LoggerFactory();
((ILoggerFactory)factory).AddProvider(null));
Typ des Breaking Changes
Diese Änderung kann sich auf die Quellkompatibilität auswirken.
Grund für die Änderung
Das vorherige Verhalten führte dazu, dass einige Vorgänge innerhalb der Klasse unnötigerweise Ausnahmen vom Typ NullReferenceException auslösten. Die Methode LoggerFactory.Dispose() beispielsweise erfasst die Ausnahme und unternimmt nichts.
Empfohlene Aktion
Stellen Sie sicher, dass Sie keinen null
-Anbieter an AddProvider(ILoggerProvider) übergeben.
Betroffene APIs
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für