zoukankan      html  css  js  c++  java
  • NetCore学习 (1)--添加autofac 第三方Ioc

    1.引用  组件 Autofac.Extensions.DependencyInjection

    2.program.cs 中添加   

    UseServiceProviderFactory(new AutofacServiceProviderFactory())
    
    
    public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host.CreateDefaultBuilder(args).UseServiceProviderFactory(new AutofacServiceProviderFactory())
    .ConfigureWebHostDefaults(webBuilder =>
    {
    webBuilder.UseStartup<Startup>();
    });
    }
    

    3.startup 里添加注入 容器(一般用程序集整个注入比较合适)

      public void ConfigureContainer(ContainerBuilder builder)
            {
                //方式二 扫描程序集, RegisterAssemblyTypes接收包含一个或多个程序集的数组作为参数. 默认地, 程序中所有具体的类都将被注册. 
                var asm = Assembly.Load("MvcService");//指定dll名称的程序集集
                var defulatAsm = Assembly.GetExecutingAssembly();//默认执行的dll
                builder.RegisterAssemblyTypes(asm, defulatAsm)
                    .PublicOnly()//仅注册public的方法
                    .Where(t => t.Name.EndsWith("Service"))//可以在这里写一些过滤类名规则
                    .AsImplementedInterfaces();
                RegisterContainerBuilder(builder);
            }
    

    4.也可以单独注入某个类

            public void RegisterContainerBuilder(ContainerBuilder builder)
            {
                builder.RegisterType<PriceLogic>();
            }
    

      

  • 相关阅读:
    查缺补漏中~~
    The number of divisors(约数) about Humble Numbers
    Octorber 21st
    素数回文
    盐水的故事
    居然因为交换错了好几把。。。。,还有坑点是num1可以大于num2
    税收与补贴问题(洛谷1023)
    斐波拉契高精度(洛谷1255)
    高精度模板
    Codeforces#373 Div2
  • 原文地址:https://www.cnblogs.com/kaikaichao/p/14136884.html
Copyright © 2011-2022 走看看