杨中科 ASP.NET Core 中的依赖注入的使用

ASP.NET CORE中服务注入的地方

1、在ASP.NET Core项目中一般不需要自己创建ServiceCollection、IServiceProvider。在Program.cs的builder.Build()之前向builderServices中注入

2、在Controller中可以通过构造方法注入服

务。

3、演示

新建一个calculator类

注入

新建TestController

使用测试

运行:

特殊情况:

在构造很慢,比如扫描D盘下 所有文件

服务注册

此时使用构造函数的注入方式

若很多方法中,只有这一个方法使用到了 testService

运行:

导致对象构建十分缓慢,导致程序卡住。还会导致其他接口调用也十分缓慢

思考:如何在使用到这个方法的时候,才去构造它

低使用频率的服务

1、把Action用到的服务通过Action的参数注入,在这个参数上标注[FromServices]。和Action的其他参数不冲突

2、一般不需要,只有调用频率不高并且资源的创建比较消耗资源的服务才FromServices]

3、只有Action方法才能用[FromServices]普通的类默认不支持

也可以混合其他参数

相关推荐
paopaokaka_luck12 分钟前
基于SpringBoot+Uniapp的健身饮食小程序(协同过滤算法、地图组件)
前端·javascript·vue.js·spring boot·后端·小程序·uni-app
Villiam_AY15 分钟前
Redis 缓存机制详解:原理、问题与最佳实践
开发语言·redis·后端
魔尔助理顾问4 小时前
系统整理Python的循环语句和常用方法
开发语言·后端·python
程序视点4 小时前
Java BigDecimal详解:小数精确计算、使用方法与常见问题解决方案
java·后端
你的人类朋友4 小时前
❤️‍🔥微服务的拆分策略
后端·微服务·架构
SkyrimCitadelValinor5 小时前
c#中让图片显示清晰
开发语言·c#
爱吃香蕉的阿豪5 小时前
SignalR 全解析:核心原理、适用场景与 Vue + .NET Core 实战
vue.js·microsoft·c#·.netcore·signalr
AI小智6 小时前
后端变全栈,终于可以给大家推出我的LangChain学习小站了!
后端
lkf197116 小时前
商品中心—1.B端建品和C端缓存
开发语言·后端·缓存
我的ID配享太庙呀6 小时前
Django 科普介绍:从入门到了解其核心魅力
数据库·后端·python·mysql·django·sqlite