转载本文务必须注明出处、微信号(Yemeir_com)、以及添加原文链接。
NetCore实现Autofac依赖注入
Autofac是什么?
Autofac是一款.Net IOC容器,我们可以用它来管理类之间的依赖,并且将.NET类当做组件处理。
本文主要介绍在ASP.NET Core中依赖注入(DI)框架。比如:我们要注入开发框架中的服务层等。
安装Autofac
在Nuget管理程序中,搜索并安装Autofac.Extensions.dependencyInjection。
Program.cs文件配置:
我们将Autofac添加到应用程序的启动管道中。
重写Autofac.Module
创建一个类,该类继承Autofac.Module。重写其中的Load方法,在方法中我们可以使用反射来构建注入。并且在控制器中使用属性注入。
Startup.cs文件配置:
我们利用容器配置方法(ConfigureContainer)来单独注入Autofac,不再使用Startup中的ServiceConllection。怎么做呢?我们在Startup文件中添加一个ConfigureContainer,并将Autofac中的容器构建类(ContainerBuilder)做为参数传入。并将重写的Autofac.Module方法注册到容器中。
如何使用
我们有两种方式可在控制器中注入:构造函数注入、属性方式注入。
这时运行程序我们可能会发现属性注入方式的对象为空,抛出异常错误。这时我们需要的Startup中ConfigureServices方法中加入如下代码
至此我们使可以在控制器中注入服务层中以Service结尾的任何类并调用类中的方法。
如果喜欢请关注支持笔者,您的关注是笔者源源不断创作的动力!
转载本文务必须注明出处、微信号(Yemeir_com)、以及添加原文链接