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

news2024/10/6 18:32:22

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]普通的类默认不支持

在这里插入图片描述
也可以混合其他参数
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1368580.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

伦茨Lenze驱动器维修EVS9324-ES D-31855

Lenze伦茨驱动器常见故障修理: 伦茨伺服驱动器维修,主电路上电检修注意事项:逆变模块与驱动电路在故障上有关联性。当逆变模块炸裂损坏后,驱动电路势必受到冲击而损坏;逆变模块损坏也可能正是因驱动电路的故障而造成的…

使用Android Compose实现网格列表滑到底部的提示信息展示

文章目录 概述1 效果对比1.1 使用添加Item的办法:1.2 使用自定义的方法 2. 效果实现2.1 列表为空时的提示页面实现2.2 添加Item的方式代码实现2.3 使用自定义的方式实现 3. UI工具类 概述 目前大多数的APP都会使用列表的方式来呈现内容,例如淘宝&#x…

PPT插件-布局参考-增加便携尺寸功能

PPT自带的尺寸为很久的尺寸,很多尺寸不常用,这里增加一些画册尺寸,用于PPT排版设计。 软件介绍 PPT大珩助手是一款全新设计的Office PPT插件,它是一款功能强大且实用的PPT辅助工具,支持Wps Word和Office Word&#x…

C#操作注册表

说明 今天用C#开发了一个简单的服务,需要设置成为自启动,网上有很多方法,放到启动运行等,但是今天想介绍一个,通过修改注册表实现,同时介绍一下操作注册表。 private void TestReg(){//仅对当前用户有效 H…

Easycode模板,基于官方提供的Mybatis-plus模板改造

目录结构 模板亮点 1、接口类默认继承实体类 实体类不做任何修改保证类与表统一 2、实体类涵盖多种注解 日期格式编码、Long类型转String、字段自动填充 3、自带insertOrUpdateBatch方法 导入方式 {"author" : "Wsong","version" : "1.2.8…

【Python机器学习】决策树——树的特征重要性

利用一些有用的属性来总结树的工作原理,其中最常用的事特征重要性,它为每个特征树的决策的重要性进行排序。对于每个特征来说,它都是介于0到1之间的数字,其中0代表“根本没有用到”,1代表“完美预测目标值”。特征重要…

微创新与稳定性的权衡

之前做过一个项目,业务最高峰CPU使用率也才50%,是一个IO密集型的应用。里面涉及一些业务编排,所以为了提高CPU使用率,我有两个方案:一个是简单的梳理将任务可并行的采用并行流、额外线程池等方式做并行;另外…

安科瑞ACX10S-YHW新能源智能电瓶车充电桩 户外充电桩 ——安科瑞 顾烊宇

1.产品简介 ACX10S-YHW新能源智能电瓶车充电桩 户外充电桩具有交流输出电源远程通断控制、 充电安全控制、电度计量、按时计费功能于一体的交流供电装置,该装置能通过电动自行车的车配充电器为电动自行车充电。支付方式可选择刷卡、扫码使用,设备内部可…

有什么不同种类的葡萄酒?

当大自然完成了它的工作,葡萄收获了,酒窖主人的任务就是把葡萄园里达到的高质量带给成品酒。《葡萄酒法》将优质葡萄酒分为三类,白葡萄酒、红葡萄酒和玫瑰红葡萄酒,葡萄品种和生产流程被精确定义。 白葡萄酒新鲜,果香浓…

STM32F103C8T6内部自带Bootloader模式之使用FlyMcu烧写程序

简介 实现自己的Bootloader前, 使用一下STM32内部自带的Bootloader对STM进行烧写 步骤 下载FlyMCU 参考 普中STM32-PZ6806L 使用FlyMcu串口烧录程序 Boot选择 Boot0->1 , Boot1->0 进到系统存储器 打开FlyMCU 1 选择串口波特率 2 选择程序 3 不需要使用辅助引脚 4 开…

【Codelab】如此简单!一文带你学会 15 个 HarmonyOS JS 组件

🧑‍🎓 个人主页:《爱蹦跶的大A阿》 🔥当前正在更新专栏:《VUE》 、《JavaScript保姆级教程》、《krpano》 ​ 目录 ✨ 前言 工程代码的结构 ​编辑 页面构建及组件使用详解 homepage代码文件 商品陈列页面 …

工业异常检测AnomalyGPT-Demo试跑

写在前面:如果你有大的cpu和gpu可以使用,直接根据官方的安装说明就可以,如果没有,可以点进来试着看一下我个人的安装经验。 一、试跑环境 NVIDIA4090显卡24g,cpu内存33G,交换空间8g,操作系统ubuntu22.04(试跑过程cpu…

FDA食品接触材料测试项目接触

1. FDA介绍: 美国食品和药品管理局(FDA)负责监管食品接触材料,此类材料必须经过检测,确保达到食品接触安全标准。美国联邦法规(CFR)第21章对此类材料作出具体规定,并将此类材料视…

spring boot 自动扫描Controller、Service、Component原理

项目里面为什么不加上ComponentScan("com.yym.*")注解,也能加载到子目录里面的Controller,Service,Component的bean呢? 启动类没有ComponentScan注解 SpringBootApplication public class BootStrap {public static v…

SpringMVC工作原理

Spring MVC 概述 SpringMVC是一个基于MVC模式的Web框架,它是Spring Framework的一部分。SpringMVC主要用于在Java Web应用程序中实现Web层,提供了一套与平台无关的、可重用的Web组件。 Spring MVC是Spring框架提供的一个实现webMVC设计模式的轻量级框架…

11.文件和异常

文件和异常 实际开发中常常会遇到对数据进行持久化操作的场景,而实现数据持久化最直接简单的方式就是将数据保存到文件中。说到“文件”这个词,可能需要先科普一下关于文件系统的知识,但是这里我们并不浪费笔墨介绍这个概念,请大…

Python自动化测试面试题分享(含答案)

1、如果页面元素经常发生需求变化,你是如何做? 利用po模式,业务逻辑和测试逻辑相分离,当某个页面经常发生变化只需要维护页面,包括元素定位表达式,封装业务方法;不需要修改测试逻辑; 页面经常…

什么是SEO?SEO还存在吗?

曾经火热的seo,至今为啥很少人知道呢?为啥说seo是曾经的火热,这还得从那时百度的算法来说起了,曾经的百度可以通过seo优化自己的网站来获得百度爬虫的爬取,从而在百度获得更高的排名和权重。 现在我们打开百度随便搜索…

C语言中常用的字符串函数(strlen、sizeof、sscanf、sprintf、strcpy)

C语言中常用的字符串函数 文章目录 C语言中常用的字符串函数1 strlen函数2 sizeof函数2.1 sizeof介绍2.2 sizeof用法 3 sscanf函数3.1 sscanf介绍3.2 sscanf用法3.3 sscanf高级用法 4 sprintf函数4.1 背景4.2 sprintf用法 5 strcpy函数5.1 strcpy介绍5.1 strcpy用法 1 strlen函…

【C语言题解】 | 572. 另一棵树的子树

572. 另一棵树的子树 572. 另一棵树的子树代码 572. 另一棵树的子树 该题目需要判断一二叉树是否为另一二叉树的子树 像此类,就不算是root的子树 此题的思路为: 传入subRoot,与root相比较,判断二者是否相同 若与root不相同&#…