架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 23|回复: 0

[ASP.NET] ASP.NET Core(三十二)依赖注入 KeyedServices 键服务

[复制链接]
发表于 昨天 11:15 | 显示全部楼层 |阅读模式
什么是 KeyedServices?

依赖注入 (DI) 在 ASP.NET Core 中无处不在。您可以将其用于自定义服务,但更重要的是,框架本身也始终使用 DI。您在 ASP.NET Core 中可以配置的大多数内容都是通过 DI 进行配置的。

对于键控服务,另一条信息存储在 中ServiceDescriptor,即ServiceKey用于标识服务的 。键可以是任何对象,但通常是string或enum(可以是常量,因此可以在属性中使用)。对于非键控服务,标识注册;对于键控服务,和ServiceType的组合标识注册。ServiceTypeServiceKey。

键控服务是指使用键注册和检索依赖项注入 (DI) 服务的机制。 通过调用 AddKeyedSingleton (或 AddKeyedScoped 或 AddKeyedTransient)来注册服务,与密钥相关联。 使用 [FromKeyedServices] 属性指定密钥来访问已注册的服务。

  • AddKeyedScoped
  • AddKeyedSingleton
  • AddKeyedTransient

KeyedServices 测试

新建一个发送通知的接口,实现有邮件、短信、消息推送方式,通过键服务进行注册,并且通过指定服务的标识来调用其具体实现,代码如下:
执行如下图:

QQ截图20251011111327.jpg

通过构造函数注入代码如下:

参考:
超链接登录可见。
超链接登录可见。




上一篇:OneKey Pro 加密货币硬件钱包购买教程
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

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

Mail To:help@itsvse.com

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

GMT+8, 2025-10-12 02:55

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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