首页 新闻 赞助 找找看

.netCore 动态加载程序集

0
[待解决问题]

有个问题想请教一下

netcore 在运行状态怎么更改IServiceCollection的配置信息

比如

services.AddSingleton<IInterface, Class1>();

在运行时动态加载了一个DLL实现。更改为

services.AddSingleton<IInterface, Class2>();

挨踢新手的主页 挨踢新手 | 初学一级 | 园豆:71
提问于:2017-10-18 16:07
< >
分享
所有回答(1)
0

services 只是一个普通的集合。配置完成后,调用Build方法生成的ServiceProvider才是主角。

所以运行时,已经生成的ServiceProvider无法修改,只能重新配置services集合,重新Build一个新的Provider.

 

当然你可以换一个思路,把ClassFactory  加到service里面去。

正常情况下ClassFactory.Create方法返回Class1, 动态加载dll后,让Create方法返回Class2

刀是什么样的刀 | 园豆:910 (小虾三级) | 2017-10-19 09:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册