首页 新闻 会员 周边 捐助

.net core 类库中如何调用 IServiceCollection

-1
悬赏园豆:10 [待解决问题]

在标准类库中如何调用 IServiceProvider.GetService() 方法来获得在 Startup.cs 中注册的对象,在静态类中访问此方法,不使用构造函数注入

在类库中怎么访问 HttpContext.RequestServices 方法

老S的主页 老S | 初学一级 | 园豆:11
提问于:2018-08-29 10:00
< >
分享
所有回答(1)
0

IServiceProvider 才有 GetService() 方法,不建议使用这种反模式

dudu | 园豆:29568 (高人七级) | 2018-08-29 10:24

我是想在 startup 中注册 services.AddDistributedRedisCache(options) 服务,然后类库中有需要用到redis缓存,在类为中可以访问 IServiceProvider 方法吗?

支持(0) 反对(0) 老S | 园豆:11 (初学一级) | 2018-08-29 10:31

@老S: 这种情况下不应该使用静态类,如果一定要使用,只能给这个静态类添加一个 IDistributedCache 类型的静态属性,在 Startup 的 Configure 方法中解析出 IDistributedCache 的实例赋值给这个静态属性

支持(0) 反对(0) dudu | 园豆:29568 (高人七级) | 2018-08-29 10:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册