ASP.NET.Core 之依赖注入

时间:2020-09-17 19:41:25 来源:

【摘要】 ASP.NET.Core 之依赖注入考必过小编为大家整理了关于ASP.NET.Core 之依赖注入的信息,希望可以帮助到大家!

ASP.NET.Core 之依赖注入

标签:microsoftscript分离bstreplacectidesrablfrom

前言:

借助依赖注入框架,我们可以轻松管理类直接的依赖,帮助我们在构建应用时遵循设计原则,确保代码的可维护性和扩展性。
ASP.NET Core 的整个架构中,依赖注入框架提供了对象创建和生命周期管理的核心能力,各个组件相互协作,也是由依赖注入框架的能力实现的。

1:核心包
Microsoft.Extensions.DependecyInjection.Abstractions //抽象包
Microsoft.Extensions.DependecyInjection //具体实现包


用到了经典的设计模式,接口实现分离模式。
抽象包只包含接口的定义,实现包包含实现。 意味着我们的组件只需要依赖他的抽象接口,而不用依赖他的实现,
使用的时候注入他的具体实现即可,意味着我们可以替换具体的依赖注入框架实现,提高了程序的可扩展性。

2:核心类型
IServiceCollection:负责服务的注册
ServiceDescriptor:每个服务注册时的信息
IServiceProvider:具体的容器,也是由ServiceCollection build 出来的
IServiceScope:容器的子容器的生命周期

3:生命周期
Singleton:单例: 每次请求都是一个对象
Scoped:作用域:指在我的Scope的生存周期内,或者是子容器的生存周期内,如果容器释放掉,对象也会释放。每个请求内是相同的,不同的请求是不同的
transient:瞬时:我们每一次从容器里获取对象时都可以得到一个全新的对象

ps:[FromService]IMyservice myService 可以从容器里获取对象

4:注册方式
serviceProvider:工厂模式注册 ,适用于所有模式,可以在内部实现复杂逻

TryAddSingleton: 尝试注册(如果服务已经注册过了,就不在注册) //接口相同则注册不进去
TryAddEnumerable: 尝试注册 //实现类相同者注册不进去
Replace:替换注册:可以把之前注册过的服务替换成我们新注册的服务
RemoveAll<IOrderService>:删除注册:移除所有IOrderService的实现

ASP.NET.Core 之依赖注入

标签:microsoftscript分离bstreplacectidesrablfrom

以上就是ASP.NET.Core 之依赖注入的内容,更多资讯请及时关注考必过网站,最新消息小编会第一时间发布,大家考试加油!

上一篇      下一篇
前端相关推荐 更多>>
ASP.NET MVC 表单提交多层子级实体集合数据到控制器中 ASP.Net Core 发布后,静态资源访问不了 asp.net core 3.1 自定义中间件实现jwt token认证 asp.net 高级应用 特性Attribute ( 声明,原理,扩展,AOP) Devexpress aspxgridview oncustomcallback 无刷新更新数据 Mataasploit 常见问题 device-aspect-ratio与aspect-ratio单屏布局 wsl 2 unbuntu 部署 asp.net core 使用 nginx 做
前端热点专题 更多>>
热点问答
国家公务员考试年龄限制是多少 公务员国考和省考考试内容有什么区别 函授大专学历能不能考公务员 国家公务员考试考点能自己选择吗 新闻学专业能报考2022年公务员考试吗 什么是联合培养研究生 什么是破格录取研究生 什么人不适合读研 研究生报名户口所在地填什么 研究生结业和毕业有什么区别
网站首页 网站地图 返回顶部
考必过移动版 https://m.kaobiguo.net