博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ASP.NET Core本身已经集成了一个轻量级的IOC容器
阅读量:5059 次
发布时间:2019-06-12

本文共 661 字,大约阅读时间需要 2 分钟。

1、services.AddTransient<IApplicationService,ApplicationService>//服务在每次请求时被创建,它最好被用于轻量级无状态服务(如我们的Repository和ApplicationService服务)

2、services.AddScoped<IApplicationService,ApplicationService>//服务在每次请求时被创建,生命周期横贯整次请求

3、services.AddSingleton<IApplicationService,ApplicationService>//Singleton(单例) 服务在第一次请求时被创建(或者当我们在ConfigureServices中指定创建某一实例并运行方法),其后的每次请求将沿用已创建服务。如果开发者的应用需要单例服务情景,请设计成允许服务容器来对服务生命周期进行操作,而不是手动实现单例设计模式然后由开发者在自定义类中进行操作。

权重:

AddSingleton→AddTransient→AddScoped

1、AddSingleton的生命周期:项目启动-项目关闭   相当于静态类  只会有一个  

2、AddScoped的生命周期:请求开始-请求结束  在这次请求中获取的对象都是同一个 

3、AddTransient的生命周期:请求获取-(GC回收-主动释放) 每一次获取的对象都不是同一个

转载于:https://www.cnblogs.com/sylone/p/10949272.html

你可能感兴趣的文章
聚类算法:K-means 算法(k均值算法)
查看>>
python 中的 re.compile 函数
查看>>
图片居中 方法
查看>>
file_get_contents
查看>>
设计模式六大原则【单一职责】【里氏替换】【迪米特法则】【依赖倒置原则】【接口隔离原则】【开闭原则】...
查看>>
win环境变量path因第三方软件导致不一致的问题分析
查看>>
Perl取得一个数组长度
查看>>
ArcGIS Engine许可初始化-白旭阳(ESRI )
查看>>
Java多线程系列--“JUC锁”08之 共享锁和ReentrantReadWriteLock
查看>>
数据库事务的四大特性以及事务的隔离级别
查看>>
多线程、异步调用异常场景测试
查看>>
java 17 -2 set集合以及hashCode()的源码
查看>>
HDU 1150 Machine Schedule (二分图最小点覆盖)
查看>>
Vue:axios中POST请求传参问题
查看>>
计算机 和python 基础
查看>>
H5小内容(四)
查看>>
HDU 5458 Stability (树链剖分+并查集+set)
查看>>
自定义URL Protocol 协议
查看>>
第五章 二叉树(e5)重构
查看>>
基于visual Studio2013解决算法导论之054图的邻接矩阵表示
查看>>