asp.Net Core中三种依赖注入区别

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

AddScoped:每次请求,都获取一个新的实例。同一个请求获取多次会得到相同的实例(如页面刷新,实例不变)

AddSingleton单例模式:每次都获取同一个实例(多个浏览器打开同一页面均为同一实例)

 

Cannot consume scoped service 'DbContext' from singleton

xx注入为scope,yy注入为singleton,在yy的构造函数中注入xx,就出出现此错误,原因是scoped不能依赖singleton,解决办法,将yy注入为scope即可,另外dbcontext默认注入为scope

 

声明:本站内容来源于原创和互联网,尊重作者版权,转载请注明来源网址,欢迎收藏,谢谢!