netcore类库项目怎样实现依赖注入ioc。

2020-10-16 11:30发布

问题:

netcore在web项目中可以在statup中进行依赖注入,那么在类库中有默认实现吗?还是只能使用autofac之类的框架实现依赖注入。

回答1:

自带默认实现
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection?view=aspnetcore-3.1



回答2:

类库中实现基于 IServiceCollection 的扩展方法供 Startup 中调用



回答3:

类库尽量使用 面向接口 的方式设计。然后额外提供一个类似 .AddMyFrameworkLib() 的 IServiceCollection 扩展方法,在这个方法里面 实现自己类库的相关注入工作。
在某些场景下我们的类库可能不仅仅提供给Aspnet项目使用,可以作下拆分处理,提供多个lib,类似如下:
MyFramework.Core 核心逻辑,基于standard的版本框架或者多目标框架
MyFromework.Aspnetcore ,依赖MyFramework.Core,提供aspnetcore的组装及注入工作



标签: NetCore c# ioc