Udostępnij za pośrednictwem


Funkcja AddProvider sprawdza, czy dostawca nie ma wartości null

Microsoft.Extensions.Logging.LoggerFactory implementuje ILoggerFactory metodę AddProvider(ILoggerProvider) . nulldostawcy nie są akceptowani i spowodują zgłoszenie.ArgumentNullException

Wprowadzona wersja

6.0 RC 1

Poprzednie zachowanie

AddProvider(ILoggerProvider) Wcześniej nie wykonaliśmy żadnej weryfikacji argumentuprovider. W związku z tym metoda uważana za null "prawidłowego" dostawcę i dodała ją do kolekcji dostawców.

Nowe zachowanie

Począwszy od platformy .NET 6, null dostawcy nie są akceptowani i AddProvider(ILoggerProvider) zgłasza błąd ArgumentNullException , jeśli argument dostawcy rejestrowania to null. Na przykład następujący kod zgłasza błąd ArgumentNullException:

var factory = new LoggerFactory();
((ILoggerFactory)factory).AddProvider(null));

Typ zmiany powodującej niezgodność

Ta zmiana może mieć wpływ na zgodność źródła.

Przyczyna wprowadzenia zmiany

Poprzednie zachowanie spowodowało, że niektóre operacje wewnątrz klasy niepotrzebnie zgłaszały NullReferenceException wyjątki. Na przykład LoggerFactory.Dispose() metoda przechwyci wyjątek i nic nie zrobi.

Upewnij się, że nie przekazujesz dostawcy null do AddProvider(ILoggerProvider)usługi .

Dotyczy interfejsów API