原文:asp.net core2.0 依赖注入 AddTransient与AddScoped的区别 - 晓剑 - CSDN博客

原文地址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单例模式:每次都获取同一个实例

asp.net core2.0 依赖注入 AddTransient与AddScoped的区别 - 晓剑 - CSDN博客的更多相关文章

  1. ASP.NET Core 如何记录每次响应的Response信息 - sky 胡萝卜星星 - CSDN博客

    原文:ASP.NET Core 如何记录每次响应的Response信息 - sky 胡萝卜星星 - CSDN博客 上一篇文章中我们已经成功的记录了Request部分的信息,现在我们来看下如何记录Res ...

  2. ASP.NET Core 如何记录每次请求的Request信息 - sky 胡萝卜星星 - CSDN博客

    原文:ASP.NET Core 如何记录每次请求的Request信息 - sky 胡萝卜星星 - CSDN博客 版权声明:本文为starfd原创文章,转载请标明出处. https://blog.csd ...

  3. 05、NetCore2.0依赖注入(DI)之Web应用启动流程管理

    05.NetCore2.0依赖注入(DI)之Web应用启动流程管理 在一个Asp.net core 2.0 Web应用程序中,启动过程都做了些什么?NetCore2.0的依赖注入(DI)框架是如何管理 ...

  4. Asp.net Core2.0 缓存 MemoryCache 和 Redis

    自从使用Asp.net Core2.0 以来,不停摸索,查阅资料,这方面的资料是真的少,因此,在前人的基础上,摸索出了Asp.net Core2.0 缓存 MemoryCache 和 Redis的用法 ...

  5. VS2017创建一个 ASP.NET Core2.0 应用,并搭建 MVC 框架

    https://testerhome.com/topics/11747 1.使用最新版本的VS2017,并安装.NET Core2.0中相关开发工具   2.打开VS2017,点击文件-新建-项目,选 ...

  6. 几十行代码实现ASP.NET Core自动依赖注入

    在开发.NET Core web服务的时候,我们习惯使用自带的依赖注入容器来进行注入. 于是就会经常进行一个很频繁的的重复动作:定义一个接口->写实现类->注入 有时候会忘了写Add这一步 ...

  7. 一步一步带你做WebApi迁移ASP.NET Core2.0

    随着ASP.NET Core 2.0发布之后,原先运行在Windows IIS中的ASP.NET WebApi站点,就可以跨平台运行在Linux中.我们有必要先说一下ASP.NET Core. ASP ...

  8. 07、NetCore2.0依赖注入(DI)之生命周期

    07.NetCore2.0依赖注入(DI)之生命周期 NetCore2.0依赖注入框架(DI)是如何管理注入对象的生命周期的?生命周期有哪几类,又是在哪些场景下应用的呢? -------------- ...

  9. ASP.NET Core之依赖注入

    本文翻译自:http://www.tutorialsteacher.com/core/dependency-injection-in-aspnet-core ASP.NET Core支持依赖注入,依赖 ...

随机推荐

  1. CentOS6 图形界面(gnome)安装

    CentOS6相对于CentOS5的安装有了不少的进步,有不少默认的选项可以选择,如: Desktop :基本的桌面系统,包括常用的桌面软件,如文档查看工具. Minimal Desktop :基本的 ...

  2. angularJS 上传multipart/form-data

    var fd = new FormData();fd.append('file', vm.file);CommodityViewImport.post(fd, onSaveSuccess, onSav ...

  3. 0 ‘+new Array(017)’ 输出? js+相当于Number()类型转换

    网站搬迁,给你带来的不便敬请谅解! http://www.suanliutudousi.com/2017/10/20/new-array017-%E8%BE%93%E5%87%BA%EF%BC%9F- ...

  4. C-Ubuntu中MySQL出现ERROR1698(28000):Access denied for user root@localhost错误解决方法

    卸载原先的MySQL,重新安装过程中没有提示设置密码, 当键入命令:mysql -uroot -p; 不知密码是什么,输入主机的密码以及不输入密码,回车后都出现标题错误. 寻找多篇相关博文,验证如下博 ...

  5. 关闭swap

    #(1)临时关闭swap分区, 重启失效;   swapoff  -a #(2)永久关闭swap分区 sed -ri 's/.*swap.*/#&/' /etc/fstab

  6. 小程序怎样将字符串转化为html

    在小程序中通过rich-text 标签,使用nodes将字符串转化为html <rich-text class="allAnswer "  nodes='<span c ...

  7. css清除浮动的几种方法

    推荐几种好用的清除浮动方法: 方法1: .clearfix:after { content:"."; display:block; height:; clear:both; vis ...

  8. GDI+在Delphi程序的应用 Photoshop色相饱和度明度功能

    本文用GDI+实现Photoshop色相/饱和度/明度功能,参照我的其它有关GDI+在 Delphi程序的应用的文章,代码也可供TBitmap使用. 有些人不喜欢,或者不太懂Delphi的BASM代码 ...

  9. Kafka命令行操作

    Kafka命令行操作 1)查看当前服务器中的所有topic [bingo@hadoop101 kafka]$ bin/kafka-topics.sh --list --zookeeper hadoop ...

  10. NX二次开发-UFUN旋转视图UF_VIEW_rotate_view

    NX11+VS2013 #include <uf.h> #include <uf_view.h> #include <uf_obj.h> #include < ...