首页 > 其他分享 >AutoFac

AutoFac

时间:2022-12-20 12:23:11浏览次数:36  
标签:Load AutoFac Repository builder 程序 Autofac

AutoFac的配置使用

一.什么是AutoFac

第三方IOC容器

二.优点

  • 它是C#语言联系很紧密,也就是说C#里的很多编程方式都可以为Autofac使用,例如可以用Lambda表达式注册组件

  • 较低的学习曲线,学习它非常的简单,只要你理解了IoC和DI的概念以及在何时需要使用它们

  • XML配置支持

  • 自动装配

  • 与Asp.Net MVC 3集成

  • 微软的Orchad开源程序使用的就是Autofac,从该源码可以看出它的方便和强大

    三.使用

第一步:Negut包下载AutoFac和Autofac.Extensions.DependencyInjection

第二步:自定义一个类,方便对注入服务进行管理(AutoFacModelRegister)
步骤:1.继承Autofac.Module
2.//重写管道load方法,进行注册注入
3.在这里需要注意,必须让自己的程序集在api下面的ben可以找到,需要在依赖项找到程序集打开

代码实现
点击查看代码
public class AutoFacModelRegister:Autofac.Module
    {
        //重写管道load方法,进行注册注入
        protected override void Load(ContainerBuilder builder)
        {
            //程序集注入业务服务(通过反射的方法动态获取程序集,"Repository","service"都需要注册)
            //Load:加载程序集(自己项目的程序集名称)
            Assembly? IAppServices = Assembly.Load("RBAC.Exam.Repository");
            //var AppServices = Assembly.Load("Service");
            //根据名称约定(服务层的接口和实现均以Repository结尾),实现服务接口和服务实现的依赖
            builder.RegisterAssemblyTypes(IAppServices)
            //(带有指定后缀的文件)
              .Where(t => t.Name.EndsWith("Repository"))
              //开放接口,注入
              .AsImplementedInterfaces();
        //单个注册
        builder.RegisterType(typeof(JwtSecurityTokenHandler)).SingleInstance();
        builder.RegisterType(typeof(TokenHelper)).SingleInstance();
    }
}
</details>
第三步:在Program.cs进行配置
builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory())
    .ConfigureContainer<ContainerBuilder>(builder =>
    {
    	//此处AutoFacModelRegister为自己第二步创建的类
        builder.RegisterModule<AutoFacModelRegister>();
    });

标签:Load,AutoFac,Repository,builder,程序,Autofac
From: https://www.cnblogs.com/Zhuo-Hu/p/16993893.html

相关文章

  • c#中的IOC容器之Autofac容器
    IOC(inversionofcontrol)控制反转以前我们把框架分为三层架构:UI层,BLL层,DAL层。在三层架构中我们,我们是一层一层的调用对象里面的方法,需要实例化对象:类名 对象名=new......
  • WebApi Autofac依赖注入配置
    publicclassAutofacConfig{///<summary>///IOC注册///</summary>publicstaticvoidRegister(){......
  • .Net Core WebApi AutoFac用法
    1.安装Autofac.Extensions.DependencyInjection管理包UI层安装 2.在Program里面配置服务提供工厂  3.在Startup里面添加一个配置容器的方法使用基于扫描程序集......
  • .NET CORE IOC容器和AutoFace 的用法
    一IOC默认的IOC的三种注入方式  通过构造函数获取到实例          二IOC默认的IOC的三种注入方式......
  • Autofac 注入仓储模式
    一、配置Autofac替换内置DI安装Nuget包:Autofac,Autofac.Extensions.DependencyInjectionProgram.cs中CreateHostBuilder方法后加上.UseServiceProviderFactory(newAut......
  • AutoFac的用法
    Autofac是一款超赞的.NETIoC容器它管理类之间的依赖关系, 能够在规模及复杂性增长的情况下依然可以轻易地修改。它的实现方式是将常规的.net类当做组件处理首......
  • .net6 使用 Autofac
    在Nuget引入Autofac、Autofac.Extensions.DependencyInjection定义Module,方便对注入服务进行管理publicclassAutoFacManager:Autofac.Module{//......
  • C#Autofac依赖注入批量注入 (目前版本.netcore3.0)
    上一文:C#依赖注入一看就会系列链接:C#依赖注入(直白明了)讲解一看就会系列-22222220-博客园(cnblogs.com) 上一次我们知道了为什么要依赖注入,这次我们就用使......
  • .NET 文件系统(一)-- EfCore的使用,反射生成DbSet与Autofac的使用
    项目基础设计1.创建FileDownLoadSystem空解决方案的项目2.创建FileDownLoadSystem.APIAPI项目3.创建FileDownLoadSystem.Core类库4.创建FileDownLoadSystem.Entity......