控制器:构造函数注入不同类型的实例赋值给其实现的接口类型

  public class UserController : ApiController{private IPersons person;//接收注入的类型实例public UserController(UCer ucer)//构造函数注入{this.person = ucer;}// GET: api/Userpublic string Get(){return person.Say();}}

Global文件(配置):

 public class WebApiApplication : System.Web.HttpApplication{protected void Application_Start(){//--导入AutoFac-AutoFac.WebAPI2//创建容器var builder = new ContainerBuilder();// Get your HttpConfiguration.var config = GlobalConfiguration.Configuration;//加载程序集类型,自动注册其下面的所有类型(中英文)builder.RegisterAssemblyTypes(Assembly.Load("Chinaese"));//加载本程序集下的所有控制器类型builder.RegisterApiControllers(Assembly.GetExecutingAssembly());//编译一下var container = builder.Build();//WebApi整个的解析依赖交给AutoFac    //默认构造函数注入config.DependencyResolver = new AutofacWebApiDependencyResolver(container);//把所有类型都注册到AutoFac容器里,最后把整个项目的实例创建和解析依赖交给AutuFac,//这样AutoFac在创建控制器实例的时候根据参数类型(不注入的走无参构造函数),去容器取对应实例进行注入AreaRegistration.RegisterAllAreas();GlobalConfiguration.Configure(WebApiConfig.Register);FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);RouteConfig.RegisterRoutes(RouteTable.Routes);BundleConfig.RegisterBundles(BundleTable.Bundles);}}



B站资源
B站视频简单教程>>>

如果程序中出现请确保控制器具有无参构造函数!!那就是容器内没有其构造函数参数指定的类型资源(需要注入的资源类型没有被注册到容器内)。


2020-04-05 16:35

WebAPI_AutoFac(依赖注入)的简单使用相关推荐

  1. DI(依赖注入)简单理解 NO1

    依赖注入:目的削减程序的耦合度,达到高内聚/低耦合 常用形式:Interface Driven Design接口驱动,接口驱动有很多好处,可以提供不同灵活的子类实现,增加代码稳定和健壮性等等. 通过I ...

  2. JAVA(一)依赖注入的简单理解

    所谓依赖,举个例子说明,一个类Person,另一个类Car,如果Person的某个方法比如说drive,需要引用Car,则称Person类依赖于 Car类,延伸到对象,这种依赖关系依然成立,比如说Pe ...

  3. 动手造轮子:实现一个简单的依赖注入(零)

    动手造轮子:实现一个简单的依赖注入(零) Intro 依赖注入为我们写程序带来了诸多好处,在微软的 .net core 出来的同时也发布了微软开发的依赖注入框架 Microsoft.Extension ...

  4. Android mock for循环,Android单元测试(五):依赖注入,将mock方便的用起来

    在上一篇文章中,咱们讲了要将mock出来的dependency真正使用起来,须要在测试环境下经过某种方式set 到用到它的那个对象里面进去,替换掉真实的实现.咱们前面举的例子是:html public ...

  5. PHP Reflection与依赖注入

    PHP具有完整的反射 API,提供了对类.接口.函数.方法和扩展进行逆向工程的能力.通过类的反射提供的能力我们能够知道类是如何被定义的,它有什么属性.什么方法.方法都有哪些参数,类文件的路径是什么等很 ...

  6. 一文看懂PHP如何实现依赖注入

    PHP具有完整的反射 API,提供了对类.接口.函数.方法和扩展进行逆向工程的能力.通过类的反射提供的能力我们能够知道类是如何被定义的,它有什么属性.什么方法.方法都有哪些参数,类文件的路径是什么等很 ...

  7. 浅析如何通过PHP类的反射来实现依赖注入

    PHP具有完整的反射 API,提供了对类.接口.函数.方法和扩展进行逆向工程的能力.通过类的反射提供的能力我们能够知道类是如何被定义的,它有什么属性.什么方法.方法都有哪些参数,类文件的路径是什么等很 ...

  8. Android单元测试(五):依赖注入,将mock方便的用起来

    在上一篇文章中,我们讲了要将mock出来的dependency真正使用起来,需要在测试环境下通过某种方式set 到用到它的那个对象里面进去,替换掉真实的实现.我们前面举的例子是: public cla ...

  9. 依赖注入(DI)入门

    依赖注入的英文翻译是 Dependency Injection,缩写为 DI.对于这个概念,有一个非常形象的说法,那就是:依赖注入是一个标价 25 美元,实际上只值 5 美分的概念.也就是说,这个概念 ...

最新文章

  1. 现在上学有点赛博朋克内味儿了
  2. 分割2021PanopticFCN
  3. 现在社交APP发展如何?
  4. 排列出所有子串暴力递归
  5. Oracle11g RAC常用操作 (维护及管理)
  6. 民意调查Django实现(一)
  7. 基于VGG的感知损失函数--人眼感知的loss
  8. 【PetShop 4.0学习】4.数据库结构
  9. 时过境迁:Oracle跨平台迁移之XTTS方案与实践
  10. quartus仿真15:全加器和半加器及如何生成符号文件
  11. Typecho独立下载插件安装与使用
  12. 什么邮箱的归档功能好用?
  13. 深光标准技术:谷歌GMS认证是什么?谷歌AER认证是什么?GMS认证的费用跟周期是多少??
  14. HiC-Pro | HiC数据处理工具
  15. [导入]冰刃Icesword 1.22测试版发布
  16. shell脚本实现通过ssh跳板机(动态密码)一键登陆服务器(相关问题与解决方案)
  17. CSS font-size单位
  18. 屏幕尺寸、分辨率、视口笔记
  19. (18) 基于时空多图卷积网络的网约车需求预测
  20. linux 进程 ssl 状态,Linux进程状态与信号

热门文章

  1. LPR个人房贷利率如何计算?(商贷部分)
  2. [Android]如何做一个崩溃率少于千分之三噶应用app(15)-View分发module架构
  3. Swi-Prolog 数值约束
  4. 安装oracle 10g XE后的提示
  5. 云计算的“傲慢”与“偏见”
  6. v-rep仿真之键盘控制机械臂末端移动
  7. mysql 编程_MySQL编程
  8. 与古人有关......
  9. matlab 中的 yalmip安装方法
  10. 5000 字带你快速入门 Apache Kylin