Skip to content

System.ObjectDisposedException: Cannot access a disposed object. Object name: 'IServiceProvider' #1

@Ar4ics

Description

@Ar4ics

.NET 8
Antelcat.AspNetCore.DependencyInjectionEx.Autowired Version="8.1.0"

System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'IServiceProvider'.
   at Antelcat.DependencyInjectionEx.ServiceLookup.ThrowHelper.ThrowObjectDisposedException()
   at Antelcat.DependencyInjectionEx.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
   at Antelcat.DependencyInjectionEx.Autowired.AutowiredResolver.<>c__DisplayClass9_0.<MapHandler>b__0(Object target, IServiceProvider provider)
   at Antelcat.DependencyInjectionEx.Autowired.AutowiredResolver.Map(Object target, IServiceProvider provider)
   at Antelcat.DependencyInjectionEx.Autowired.AutowiredProvider.Inject(Object target, IServiceProvider provider, ServiceResolveKind kind)
   at Antelcat.DependencyInjectionEx.Autowired.AutowiredServiceProviderBuilderExtensions.<>c.<AutowiredProvider>b__1_0(IServiceProvider provider, Type _, Object instance, ServiceResolveKind kind)
   at Antelcat.DependencyInjectionEx.ServiceProviderEx.OnServiceConstructed(IServiceProvider provider, Type serviceType, Object instance, ServiceResolveKind kind)
   at Antelcat.DependencyInjectionEx.Callback.FinalResolveTrigger.<>c__DisplayClass5_0.<PostResolve>b__0(IServiceProvider provider)
   at Antelcat.DependencyInjectionEx.Callback.FinalResolveTrigger.FinishResolve()
   at Antelcat.DependencyInjectionEx.Callback.ResolveCallChain.OnResolved()
   at Antelcat.DependencyInjectionEx.ServiceProviderEx.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope)
   at Antelcat.DependencyInjectionEx.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
   at FileValidator.GetUserFile(FileIdentity fileIdentity) in FileValidator.cs:line 81

Error when trying to get service from created scope:

private async Task<UserFile> GetUserFile(FileIdentity fileIdentity)
{
    using var scope = _serviceScopeFactory.CreateScope();
    var userFileRepository = scope.ServiceProvider.GetRequiredService<IUserFileRepository>(); // error on this line
    return await userFileRepository.Get(fileIdentity.FileId);
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions