.NetCore依赖注入在Configure方法中无法获得Scope生命周期实例

问题描述

Configure方法中,通过调用IApplicationBuilderApplicationServices属性的GetRequiredService<ServiceType>()的方法,无法获得ServiceType的实例,系统会抛出异常“Cannot resolve scoped service ...”

原因

IApplicationBuilder 的 ApplicationServices 属性获取的是Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope根部的 IServiceProvider。而这一个Provider没有提供Scope的实例管理。

解决方法

在Configure方法中传入IServiceProvider参数,通过此参数去获取实例即可。

posted @ 2022-02-24 09:36  TylorChen  阅读(200)  评论(0编辑  收藏  举报