Aracılığıyla paylaş


AddProvider null olmayan sağlayıcı için denetimler

Microsoft.Extensions.Logging.LoggerFactoryILoggerFactory bir AddProvider(ILoggerProvider) yöntemle uygular. null sağlayıcılar kabul edilmediğinden, bir ArgumentNullException atılması neden olur.

Sürüm kullanıma sunulmuştur

6.0 RC 1

Önceki davranış

Daha önce bağımsız AddProvider(ILoggerProvider) değişkenin herhangi bir doğrulamasını provider gerçekleştirmedi. Bu nedenle, yöntem "geçerli" bir sağlayıcı olarak kabul edilir null ve sağlayıcı koleksiyonuna eklenir.

Yeni davranış

.NET 6'dan başlayarak sağlayıcılar null kabul edilir ve AddProvider(ILoggerProvider) günlüğe kaydetme sağlayıcısı bağımsız değişkeni ise nullbir ArgumentNullException oluşturur. Örneğin, aşağıdaki kod bir ArgumentNullExceptionoluşturur:

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

Hataya neden olan değişikliğin türü

Bu değişiklik kaynak uyumluluğunu etkileyebilir.

Değişiklik nedeni

Önceki davranış, sınıfındaki bazı işlemlerin gereksiz yere özel durumlar oluşturmasına NullReferenceException neden oldu. Örneğin, LoggerFactory.Dispose() yöntemi özel durumu yakalar ve hiçbir şey yapmaz.

bir sağlayıcıyı adresine geçirmediğinizden nullAddProvider(ILoggerProvider)emin olun.

Etkilenen API’ler