(三).NET6.0使用Autofac实现依赖注入
1.添加依赖注入的两个关键包
Autofac.Extensions.DependencyInjection 和 Autofac.Extras.DynamicProxy
2.在Program中添加Autofac的支持
3.新建一个类库项目,例如叫做 Wsk.Core.Service,然后新建一个类,叫做TestAutofac,以及对应的接口 ITestAutofac,以及一个方法叫做Test,用于做依赖注入实现的测试使用
4.接下来,使用注入整个类库来实现依赖注入,用于接口和类很多的情况下,为了方便,就可以把类库下面的所有接口全部暴露出来进行依赖注入。在启动项目里面,新建一个文件夹,叫Register,在里面新建类AutofacRegister,并继承Autofac.Module ,在类下面重写 Load 方法
5.在Program中配置 Autofac 容器
6.控制器中添加构造函数的依赖注入,以及新增一个用于测试的方法,为了看出效果,只打印以上方法的输出内容:
最后总结一点东西:
单例:AddSingleton(),只在首次请求会创建服务,后续所有请求都会使用该实例。
作用域:AddScoped(),不同的请求,实例不同。
瞬态:AddTransient(),临时服务,每次请求都会创建一个新的服务实例