asp.net core2.0 依赖注入 AddTransient与AddScoped的区别

原文地址:http://www.tnblog.net/aojiancc2/article/details/167


asp.net core主要提供了三种依赖注入的方式

其中AddTransient与AddSingleton比较好区别

AddTransient瞬时模式:每次都获取一个新的实例

AddSingleton单例模式:每次都获取同一个实例


而AddTransient与AddScoped的区别更不容易区别一点

首先这两种方式每次请求得到的都不是同一个对象,从这点看会发现这两个都一样。

但是我们可以继续分细一点,虽然不同的请求得到的结果不同,但是我们可以在同一次请求中去获取多次实例测试。



AddTransient注入方式获取两次实例

services.AddTransient<IUserBLL, UserBll>();


可以看到瞬时模式即使同一次请求中也是不同的对象



AddScoped注入方式获取两次实例

services.AddScoped<IUserBLL, UserBll>();

可以发现AddScoped在同一次请求中,获取多次对象得到的是同一个对象


小结:

AddTransient瞬时模式:每次请求,都获取一个新的实例。即使同一个请求获取多次也会是不同的实例

AddScoped:每次请求,都获取一个新的实例。同一个请求获取多次会得到相同的实例

AddSingleton单例模式:每次都获取同一个实例





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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值