架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1941|回复: 6

[资料] ASP.NET Core(十六)依赖注入之动态注册服务

[复制链接]
发表于 2023-4-13 18:32:56 | 显示全部楼层 |阅读模式
需求:在 ASP.NET Core 中,通常根据自己业务使用 AddTransient、AddScoped、AddSingleton 方式来注册不同生命周期的服务,假如项目需要注册一百个服务(数据库访问层,有规律的对象命名规则),我们需要写100行代码注册,如何通过动态或者使用反射来注册这些服务呢?

通过动态反射的方式,我们只需要几行代码搞定,并且之后创建新的服务的时候(因为动态注册的时候会扫描到新的服务),也不需要注册了。

动态注册服务原理是通过调用 builder.Services.Add 添加 ServiceDescriptor 的方式。


我们数据库访问层,接口名:IClassificationService,实现接口的对象名称:ClassificationService,数据库访问层名称后面都是“Service”,可以通过这个规则注册所有的数据库访问层的服务,代码如下:

IClassificationService 接口代码:

ClassificationService 代码:


QQ截图20230413182959.jpg

(完)




上一篇:【实战】.NET/C# 获取京东商品详情图片
下一篇:【转】C# 多线程并发下各种锁的性能
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2023-4-13 18:36:12 | 显示全部楼层
回顾

ASP.NET Core(十五)使用 HttpClient 发送 HTTP 请求
https://www.itsvse.com/thread-10311-1-1.html

ASP.NET Core(十四)基于 SkiaSharp 图片验证码
https://www.itsvse.com/thread-10287-1-1.html

ASP.NET Core(十三)判断是否是 Ajax 请求
https://www.itsvse.com/thread-10284-1-1.html

ASP.NET Core(十二)前端 JS、CSS 捆绑和压缩
https://www.itsvse.com/thread-10282-1-1.html

ASP.NET Core(十一)端点路由添加中间件显示所有 DI 服务
https://www.itsvse.com/thread-10269-1-1.html

ASP.NET Core(十)Configuration 配置优先级详解
https://www.itsvse.com/thread-10265-1-1.html

ASP.NET Core(九) 之 Middleware 中间件详解
https://www.itsvse.com/thread-9647-1-1.html

ASP.NET Core 中间件(Middleware)详解
https://www.itsvse.com/thread-8126-1-1.html

ASP.NET Core(八) 之 Swagger UI 默认参数的坑
https://www.itsvse.com/thread-9640-1-1.html

ASP.NET Core(七)深入刨析框架源码
https://www.itsvse.com/thread-9601-1-1.html

ASP.NET Core(六)DI 手动获取注入对象的方法
https://www.itsvse.com/thread-9595-1-1.html

ASP.NET Core(五)基于 CAP 分布式事务
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Core(四)之过滤器统一 ModelState 模型验证
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET Core(三)使用 ActivatorUtilities 动态创建实例
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Core(二)通过代码自重启应用
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core(一)使用 Redis 缓存
https://www.itsvse.com/thread-9393-1-1.html
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2023-4-13 19:22:40 | 显示全部楼层
学习学习。。
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2023-4-23 09:07:26 | 显示全部楼层
学习
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2023-5-4 08:55:52 | 显示全部楼层
学习学习
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2023-5-5 11:59:19 | 显示全部楼层
1asdasdasdasd
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2023-5-16 11:21:52 | 显示全部楼层
十六)依赖注入之动态注册服务 [修改]
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-25 11:33

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表