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的简单使用,以上为本人的学习笔记,仅供参考,如有错误,欢迎纠正。

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

     

  • 相关阅读:
    block和delegate的区别
    iOS真机测试友盟碰到错误linker command failed with exit code 1 (use -v to see invocation) 百度地图的检索失败 sqlite 错误码
    iOS国际化多语言设置
    获取本机ip地址
    iOS-Senior19-FMDB第三方应用
    iOS-Senior17-CoreAnimation动画
    iOS-Senior18-CocoPods的安装步骤
    iOS-Senior17-UIView动画
    iOS-Senior17-菊花风火轮(代码)
    iOS-Senior17-Gif动画图片(代码)
  • 原文地址:https://www.cnblogs.com/w821759016/p/11339618.html
Copyright © 2011-2022 走看看