zoukankan      html  css  js  c++  java
  • AutoFac的简单使用教程

    Autofac可以对代码进行依赖注入,实现控制反转。以下是本菜鸟在初次入门时的代码配置,其源码,内部原理都还有待日后研究。目前也只是仅仅做到了能够使项目正常使用而已。

    跟我一样刚刚入门的菜鸟朋友们可以借鉴一下。

    一、使用NuGet进行引用添加

      1. Autofac 4.9.3

      2. Auto.Mvc5 4.0.2

    二、Global.asax.cs 配置  

    public class MvcApplication : System.Web.HttpApplication
        {
            protected void Application_Start()
            {
                AreaRegistration.RegisterAllAreas();
                FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
                RouteConfig.RegisterRoutes(RouteTable.Routes);
    
    
                //配置AutoFac
                var builder = new ContainerBuilder();
    
                //把当前程序集中的Controller都注册 ->需要安装AutoFac.Mvc5
                builder.RegisterControllers(typeof(MvcApplication).Assembly)
                    .PropertiesAutowired();
    
                //注册Serivce 加载Service所在的程序集
                Assembly[] assemblies = new Assembly[] { Assembly.Load("Ant.Crm.Admin") };
                //条件:只注册继承了BaseService的Service
                builder.RegisterAssemblyTypes(assemblies).Where(type=>!type.IsAbstract && typeof(BaseService).IsAssignableFrom(type));
    
                var container = builder.Build();
    
                //注册系统级别的DependencyResolver,这样当MVC框架创建Controller等对象的时候都是管Autofac要对象 !!!
                //->需要安装AutoFac.Mvc5。
                DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
            }
        }

    目录结构:

     

    三、使用

    1. 依照配置,需要将所有的Service都继承自BaseService,如图:

    2. 在Controller中使用已经注册到Autofac中的Service(构造器注入),如图:

     

    OK,这就是Autofac的简单使用,以上为本人的学习笔记,仅供参考,如有错误,欢迎纠正。

    喜欢本文章的朋友,欢迎关注公众号【程序员在职场】支持一下小编。

     

  • 相关阅读:
    基于nginx+tomcat部署商城系统并连接数据库
    nginx防DDOS、cc、爬虫攻击
    nginx企业级优化
    基于nginx结合openssl实现https
    nginx打包成rpm
    产品运营3部曲:引量、留存、活跃
    从赢利前和赢利后分析 提高美国市场APP安装量的技巧
    APP海外优质推广渠道(三):海外ASO服务/工具汇总
    APP海外优质推广渠道(二):海外广告联盟/平台汇总
    关于O2O项目的个人看法
  • 原文地址:https://www.cnblogs.com/w821759016/p/11339618.html
Copyright © 2011-2022 走看看