삭제한 ServiceProvider 분석을 통해 예외를 throw합니다
서비스 공급자가 삭제된 후 서비스가 확인되면 영향을 받는 메서드는 교착 상태를 유발하는 대신 ObjectDisposedException을 throw합니다.
도입된 버전
6.0 RC 1
이전 동작
이전에는 드물게 애플리케이션이 서비스 공급자가 삭제된 후 서비스를 확인하는 경우 교착 상태가 발생했습니다.
새 동작
.NET 6부터 서비스 공급자가 삭제되고 교착 상태가 없는 서비스가 확인되면 ObjectDisposedException이 throw됩니다.
호환성이 손상되는 변경의 형식
이 변경은 소스 호환성에 영향을 줄 수 있습니다.
변경 이유
이 변경 내용은 교착 상태 시나리오를 해결하기 위해 도입되었습니다.
권장 작업
영향을 받는 API를 호출할 때 ObjectDisposedException을 catch합니다.
영향을 받는 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)
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET