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

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

     

  • 相关阅读:
    3.17爸爸要回去了(之十一)
    爸爸丢了 (2013.3.10,确诊五天后,之十)
    Polyline转Polygon
    将一个应用程序添加做成windows服务
    找个输入IPoint在某个FeatureClass上距离最近的要素
    线程间操作无效: 从不是创建控件“label4”的线程访问它。
    删除文件夹下的文件和文件夹
    int组成时间值
    CRONTAB
    NFS
  • 原文地址:https://www.cnblogs.com/w821759016/p/11339618.html
Copyright © 2011-2022 走看看