Autofac的使用

前段时间一直在研究NopCommerce的最新版源代码,NopCommerce在以前的版本中(CodeBehind)是使用Microsoft Enterprise Library的Unity2.0的注入模式,

在全部改版采用MVC的版本中已经使用了号称"注入神器"的Atuofac来进行依赖注入.趁此机会本人也研究了一把Autofac,发现在确实还不错,所以在此记录一下自己的一些学习代码吧.

 

直接上代码,下面的代码部分从网上拷过来,后经过自己进行加工,先来个简单的:

隐藏行号 复制代码 这是一段程序代码。
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
隐藏行号 复制代码 这是一段程序代码。
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  

运行上述程序,实例化SqlDatabase

image

继续来个比上面稍复杂的

隐藏行号 复制代码 这是一段程序代码。
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  

运行上述程序,实例化OracleDatabase,另外将Keyed换成另外一种写法Named,我测了下效果一样.

 image

 

继续来下面的

隐藏行号 复制代码 这是一段程序代码。
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  

隐藏行号 复制代码 这是一段程序代码。
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  

运行上述程序,实例化SqlDatabase

image

 

在DatabaseManager类中看到了有两个构造函数,其中一个只传IDatabase,另外一个除IDatabase,还要传一个字符串,那我在注入时需要构造多参数的怎么办,继续

隐藏行号 复制代码 这是一段程序代码。
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  

运行上述程序后,实例化OracleDatabase,

image

下面再来个泛型的注册,泛型不细讲了,使用方式跟普通类型相若,只是告诉大家如何使用.

隐藏行号 复制代码 这是一段程序代码。
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  

运行程序看下

 image

 

在Autofac中除了较常使用的RegisterType来注册外,还可以使用Register来进行注入. 下面来个稍复杂的

隐藏行号 复制代码 这是一段程序代码。
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  

 

隐藏行号 复制代码 这是一段程序代码。
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  

运行结果大家看下:

image

 

基本上Autofac实际使用中上述能够用了,更多更复杂的,大家需要在工作自己研究了.

 

 

 

转载于:https://www.cnblogs.com/tangzhenjie/p/3461713.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值