zoukankan      html  css  js  c++  java
  • .netCore下的依赖注入扩展 -- AutoFac

    使用AutoFac实现依赖注入我们需要引用一下两个Nuget包

     接下来就是我们替换Asp.netCore默认为我们实现的依赖注入功能了。如果对core默认实现不清楚的朋友可以点此连接查看

    使用构造函数注入

    看下代码:

      public interface IUser
        {
            string GetName();
        }
        public class User : IUser
        {
            public string GetName()
            {
                return "User1";
            }
        }

    User是要注入的对象。接下来是修改StartUp类中ConfigureServices方法

       public void ConfigureServices(IServiceCollection services)
            {
    
    
            }

     我们把Void返回值替换成IServiceProvider。

     public IServiceProvider ConfigureServices(IServiceCollection services)
            {
    
                var containerBuilder= new ContainerBuilder();
                containerBuilder.RegisterType<User>().As <IUser>();
                containerBuilder.Populate(services);
                var container = containerBuilder.Build();
                return new AutofacServiceProvider(container);
    
             
               
            }

    我们配置好StatUp类接下来就是使用注入的User对象了。在此我使用MVC里的Controller演示

      public class HomeController : Controller
    {
            public IUser _user { get; set; }
            public HomeController(IUser user) {
                _user = user;
            }
             public IActionResult Index()
            {
                 _user.GetName();
                return View();
            }
    }

    就这样我们完成了AutoFac的构造函数注入。AutoFac不仅仅有RegisterType注入方式,比如可以通过模块化的方式注入

    StartUp中ConfigureServices方法:

    containerBuilder.RegisterModule<AspCoreMVCIdentityDemo.AutoFac.AutoFacModule>();
     public class AutoFacModule:Module
        {
            protected override void Load(ContainerBuilder builder)
            {
                builder.RegisterType<User>().As<IUser>();
           } }
  • 相关阅读:
    剖析并利用Visual Studio Code在Mac上编译、调试c#程序【转】
    算法题—百灯判熄
    聪明的情侣算法题
    C#中&与&&的区别
    C# 日期格式精确到毫秒 【转】
    C#关于窗体的keysdown事件,无法获取到焦点
    百度,迅雷,华为,阿里巴巴笔试面试
    对 Linux 新手非常有用的 20 个命令
    阿里面试题2015
    Ant工具 ant的安装与配置 ant作用
  • 原文地址:https://www.cnblogs.com/LahGo/p/8933823.html
Copyright © 2011-2022 走看看