首页 > 其他分享 >.NET6中使用Autofac组件

.NET6中使用Autofac组件

时间:2023-08-24 21:35:11浏览次数:43  
标签:Load mapper Autofac builder using 组件 NET6 public

  Autofac 是.NET IoC 容器 . 它管理类之间的依赖关系, 从而使 应用在规模及复杂性增长的情况下依然可以轻易地修改 . 它的实现方式是将常规的.net类当做 组件 处理.

1. 安装Nuget包

2. 在Api中创建一个AutofacModule的类

using Autofac;
using System.Reflection;

namespace Demo.WebApi
{
    public class AutofacModule:Autofac.Module
    {
        protected override void Load(ContainerBuilder builder)
        {
            var assembly = Assembly.Load("要管理的类的类名");
            builder.RegisterAssemblyTypes(assembly)
                .Where(u => u.Name.EndsWith("要管理的类的类名后缀"))
                .AsImplementedInterfaces();
            base.Load(builder);
        }
    }
}

 3. Program.cs中注册

using Autofac;

//注入Autofac
builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory()).ConfigureContainer<ContainerBuilder>
(builder =>
{
    builder.RegisterModule<AutofacModule>();
});

 4. 在服务层或控制器构造函数中注入

private readonly IMapper _mapper;

public UserController(IMapper mapper)
{
    _mapper = mapper;
}

登录案例中使用

[HttpPost]
[Route("Login")]
public IActionResult Login(UserInfoDto info)
{
    var userInfo=_mapper.Map<UserInfoDto,UserModel>(info);
    var result = user.Login(userInfo);
    return Ok(result);
}

 

标签:Load,mapper,Autofac,builder,using,组件,NET6,public
From: https://www.cnblogs.com/njxw7819/p/17655120.html

相关文章

  • Vue动态创建组件实例并挂载到body
    方式一importVuefrom'vue'/***@paramComponent组件实例的选项对象*@paramprops组件实例中的prop*/exportfunctioncreate(Component,props){constcomp=new(Vue.extend(Component))({propsData:props}).$mount()document.body.appendChild(......
  • Vue组件缓存之keep-alive正确使用姿势
    先来看一个项目中的需求作为苦逼的前端开发者,我们无时无刻都要面对产品经理提的各种需求,比如下图这个场景场景:从首页的点击导航进入列表页,列表页点击列表进入该数据详情页从详情页返回,希望列表页缓存,不重新渲染数据,这样会提高用户体验。分析一下这样需求,如果是小程序......
  • vue3 使用 setup 语法糖时,keep-alive 缓存使用 include / exclude 获取组件名
    <template><router-viewv-slot="{Component,route}"><keep-alive:include="['ComponentName']"><component:is="Component":key="route.name"/></keep-alive>......
  • Unity UGUI的Toggle(复选框)组件的介绍及使用
    UnityUGUI的Toggle(复选框)组件的介绍及使用1.什么是Toggle组件?Toggle(复选框)是UnityUGUI中的一个常用组件,用于实现复选框的功能。它可以被选中或取消选中,并且可以代码通过其制控状态。2.Toggle组件的工作原理组Toggle件由两个部分组成:背景记标和。景背用于显示复选框的外观......
  • net6 使用ef core 映射mysql数据库(方法一)
    1.安装下载nuget包Pomelo.EntityFrameworkCore.MySql和Microsoft.EntityFrameworkCore.Design如下图 2.创建一个模型类,之后映射到数据库里面的表、字段和这个类是一致的。publicclassMovies{///<summary>///id///</summary>......
  • 高级Android组件化、插件化强化实战,附大厂源码解析
    前言当今移动应用市场竞争激烈,为了在激烈的竞争中脱颖而出,开发人员需要不断提高应用性能,从而提高用户体验。而Android组件化和插件化技术则为优化性能提供了更好的方法。什么是组件化组件化技术是将一个大型的Android应用拆分成多个小模块或组件,每个组件负责不同的功能,通过组合不同......
  • 图片预览组件 (放大 缩小 旋转 鼠标拖动)
    效果图其中的图片初始化不需要如果需要可自行修改一下**完整代码如下**点击查看代码<template><transitionname="zoom"><divclass="previewImage_wrapper"ref="previewImage_wrapper"@wheel="handleScroll"><divclass=&......
  • low-ui-vue前置解读|实现一个动态列的表格组件
    最近另一个团队正式在项目中推广内部开发的low-ui组件库了,当然还在内部阶段,但是太慢了。作为架子的设计者和部分功能的开发者,我决定先把常见的功能通过模仿的形式公开出来。避免大家搜索无果或者使用一些框架增加学习成本。所谓动态列的表格,就是列数不固定。像广为使用的elementU......
  • 记录一个通过keep-alive缓存组件不生效的问题
    项目中通过菜单管理配置页面进行缓存,layout组件中通过keep-alive的include属性进行命中官方描述:匹配首先检查组件自身的name选项,如果name选项不可用,则匹配它的局部注册名称(父组件components选项的键值)。匿名组件不能被匹配。通过检查发现配置菜单时用的组件名称(动态菜......
  • Unity UGUI的Image(图片)组件的介绍及使用
    UGUI的Image(图片)组件的介绍及使用1.什么是UGUI的Image(图片)组件?UGUI的Image(图片)组件是Unity引擎中的一种UI组件,用于显示2D图像。它提供了一种简单而灵活的方式来在游戏中加载和显示图片。2.为什么要使用UGUI的Image(图片)组件?使用UGUI的Image组件可以方便地在游戏中展示各种图......