Usuwanie usuniętego dostawcy usług zgłasza wyjątek
Gdy usługa zostanie rozwiązana po usunięciu dostawcy usług, metody, których dotyczy problem, zgłaszają ObjectDisposedException teraz zamiast powodować zakleszczenie.
Wprowadzona wersja
6.0 RC 1
Poprzednie zachowanie
Wcześniej, w rzadkim przypadku, gdy aplikacja rozwiązała usługę po usunięciu dostawcy usług, doprowadziła do zakleszczenia.
Nowe zachowanie
Począwszy od platformy .NET 6, element jest zgłaszany, ObjectDisposedException gdy usługa jest rozpoznawana po usunięciu dostawcy usług i nie ma zakleszczenia.
Typ zmiany powodującej niezgodność
Ta zmiana może mieć wpływ na zgodność źródła.
Przyczyna wprowadzenia zmiany
Ta zmiana została wprowadzona w celu naprawienia scenariusza zakleszczenia.
Zalecana akcja
Przechwyć ObjectDisposedException podczas wywoływania dowolnego z dotkniętych interfejsów API.
Dotyczy interfejsów API
- System.IServiceProvider.GetService(Type)
- Microsoft.Extensions.DependencyInjection.ISupportRequiredService.GetRequiredService(Type)
- Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider, Type)
- Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService<T>(IServiceProvider)