zoukankan      html  css  js  c++  java
  • ASP.NET Core中使用Autofac

    ⒈添加相关依赖

    Install-Package Autofac

    ⒉扫描项目接口实现类 

     1 using Autofac;
     2 using System;
     3 using System.Collections.Generic;
     4 using System.Reflection;
     5 using System.Text;
     6 
     7 namespace Unity_Test.Autofac
     8 {
     9     public class AutofacConfig
    10     {
    11         private static Lazy<IContainer> container = new Lazy<IContainer>(() =>
    12         {
    13             var containerBuilder = new ContainerBuilder();
    14             RegisterTypes(containerBuilder);
    15             var container = containerBuilder.Build();
    16             return container;
    17         });
    18 
    19         public static IContainer GetConfiguredContainer()
    20         {
    21             return container.Value;
    22         }
    23 
    24         private static void RegisterTypes(ContainerBuilder containerBuilder)
    25         {
    26 
    27             var dataAccess = Assembly.GetExecutingAssembly();
    28 
    29             containerBuilder.RegisterAssemblyTypes(dataAccess)
    30                 .Where(w => w.Namespace.Contains("Unity_Test"))
    31                 .AsImplementedInterfaces();
    32         }
    33     }
    34 }

    ⒊代码中注入

     1 using Autofac;
     2 using Autofac.Core;
     3 using System;
     4 using Unity_Test.Autofac;
     5 
     6 namespace Unity_Test
     7 {
     8     class Program
     9     {
    10         static void Main(string[] args)
    11         {
    12             IService service = AutofacConfig.GetConfiguredContainer().Resolve<IService>();
    13             service.sayHello();
    14             Console.ReadKey();
    15         }
    16     }
    17 }
  • 相关阅读:
    SVN为什么比Git更好
    vim的高亮查找操作
    Mac利用PD虚拟机安装Centos7
    学习MapReduce的计算原理
    hadoop-HA高可用集群部署
    HDFS命令操作和高可用
    初识hadoop及伪集群部署
    初步学习nginx
    小记--------maxwell启动失败解决
    小记--------spark资源调度机制源码分析-----Schedule
  • 原文地址:https://www.cnblogs.com/fanqisoft/p/10516317.html
Copyright © 2011-2022 走看看