手动获取注入对象
HttpContext来获取实例
HttpContext下有一个RequestedService同样可以用来获取实例对象
public static class ServiceLocator { public static IServiceProvider Instance { get; set; } }然后在Configure中去赋值一下即可:
使用的时候就可以直接用了
ConfigureServices中
有时间我们可以会做一点初始化的操作,需要在这里获取
注意如果你需要获取的对象里边依赖的对象使用了Scope方式注入这样获取会报错:
Cannot resolve 'XX.IArticleDAL' from root provider because it requires scoped service 'XX.CNBLOGContext'.
需要这样获取
var serviceProvider = app.ApplicationServices; var httpContextAccessor = serviceProvider.GetRequiredService2.调用
httpContextAccessor.HttpContext.RequestServices.GetService