有个问题想请教一下
netcore 在运行状态怎么更改IServiceCollection的配置信息
比如
services.AddSingleton<IInterface, Class1>();
在运行时动态加载了一个DLL实现。更改为
services.AddSingleton<IInterface, Class2>();
services 只是一个普通的集合。配置完成后,调用Build方法生成的ServiceProvider才是主角。
所以运行时,已经生成的ServiceProvider无法修改,只能重新配置services集合,重新Build一个新的Provider.
当然你可以换一个思路,把ClassFactory 加到service里面去。
正常情况下ClassFactory.Create方法返回Class1, 动态加载dll后,让Create方法返回Class2