Condividi tramite


AddProvider verifica la presenza di provider non Null

Microsoft.Extensions.Logging.LoggerFactory implementa ILoggerFactory con un metodo AddProvider(ILoggerProvider). I provider null non vengono accettati e genereranno ArgumentNullException.

Versione introdotta

6.0 RC 1

Comportamento precedente

In precedenza, AddProvider(ILoggerProvider) non ha eseguito alcuna convalida dell'argomento provider. Di conseguenza, il metodo ha considerato null come provider "valido" e lo ha aggiunto alla raccolta di provider.

Nuovo comportamento

A partire da .NET 6, i provider null non vengono accettati e AddProvider(ILoggerProvider) genera ArgumentNullException se l'argomento del provider di registrazione è null. Ad esempio, il codice seguente genera ArgumentNullException:

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

Tipo di modifica che causa un'interruzione

Questa modifica può influire sulla compatibilità dell'origine.

Motivo della modifica

Il comportamento precedente causava un'inutile generazione di eccezioni NullReferenceException all'interno della classe. Ad esempio, il metodo LoggerFactory.Dispose() acquisirà l'eccezione e non eseguirà alcuna operazione.

Assicurati di non passare un provider null a AddProvider(ILoggerProvider).

API interessate