Autofac注入仓储
一.安装Nuget包 Autofac Autofac.Extensions.DependencyInjection
二.在WebAPI中创建Module.cs类 注入仓储层和服务层
public class HiroshiModule:Autofac.Module { protected override void Load(ContainerBuilder builder) { var assembly = Assembly.Load("Hiroshi.Repository"); builder.RegisterAssemblyTypes(assembly) //查询文件名以Repository结尾的文件 .Where(u => u.Name.EndsWith("Repository")) .InstancePerLifetimeScope() //自动加载 接口 .AsImplementedInterfaces(); var service = Assembly.Load("Hiroshi.Service"); builder.RegisterAssemblyTypes(service) //查询文件名以Respority结尾的文件 .Where(x => x.Name.EndsWith("Service")) .InstancePerLifetimeScope() //自动加载 接口 .AsImplementedInterfaces(); base.Load(builder); } }
三.在Program.cs中注册
builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory()).ConfigureContainer<ContainerBuilder>(builder => { //将 HiroshiModule这个类 加载到AutoFac 当中 builder.RegisterModule(new HiroshiModule()); });
四.然后创建控制台调用Service层