首页 > 其他分享 >9月13日总结

9月13日总结

时间:2023-09-21 13:00:25浏览次数:34  
标签:总结 8.0 13 Denpendcy key keyA KeyedService Injection

Denpendcy Injection 8.0新功能——KeyedService

分类: .NET 标签: KeyedService , Denpendcy Injection , ASP.NET CORE
Denpendcy Injection 8.0新功能——KeyedService

本文只介绍 .NET Denpendcy Injection 8.0新功能——KeyedService,假定读者已熟练使用之前版本的功能。
注册带Key的类#

8.0之前,注册一个类往往是AddSingleton<IFoo, Foo>(),8.0添加了一个新功能:“可以注册一个带Key的类”AddKeyedSingleton<IFoo, Foo>("keyA")。获取服务方法由GetService()变成了GetKeyedService("keyA"),并且调用这两个方法创建出来的对象是不同的。

如果想通过构造函数注入,只需要在参数前面加上特性[FromKeyedServices("keyA")] 即可,特性里的参数就是key的名字。如果想在构造函数中获取key的值则使用特性[ServiceKey]。我们还可以注册时把key设置为KeyedService.AnyKey(这是框架提供的类),只需使用任意非null值作为key就可以获取对象。暂时不支持使用通配符匹配,也许以后会加......

Copy
class Bar : IBar
{
public Bar([ServiceKey] int key, [FromKeyedServices("keyA")] IFoo foo, IServiceProvider root)
{
//注意:key的类型要和调用时一致。
Console.WriteLine($"key:{key},Compare:{foo == root.GetKeyedService("keyA")}");
}
}

标签:总结,8.0,13,Denpendcy,key,keyA,KeyedService,Injection
From: https://www.cnblogs.com/lmyy/p/17719708.html

相关文章

  • 9月15日总结
    责任链模式作为常用的设计模式而被大家熟知和使用。本文介绍责任链的常见实现方式,并结合开源框架如Dubbo、Sentinel等进行延伸探讨。一、责任链介绍在GoF的《设计模式》一书中对责任链模定义的:将请求的发送和接收解耦,让多个接收对象都有机会处理这个请求。将这些接收对象串成一......
  • 9月11日总结
    慢SQL原因分析之索引失效现象最近收到一个慢sql工单,慢sql大概是这样:“selectxxxfromtabelwheretype=1”。咦,type字段明明有索引啊,为啥是慢sql呢?原因通过执行explain,发现实际上数据库执行了全表扫描,从而被系统判定为慢sql。这时有一定开发经验的同事会说:“字段区分度......
  • 每日总结01
    刚开学的时候配置了虚拟机中的hadoop、zookeeper、hbase。在当时还可以使用,但是就在昨天居然不能用了,hadoop、zookeeper、hbase都可以正常使用,但是就是无法连接hbase,于是开始重新配置环境、重新配置虚拟机中的hadoop、zookeeper、hbase。具体出现什么问题不明确,怀疑是强制开关机导......
  • 线程间共享数据-各种锁(总结)
    std::mutex#include<mutex>#include<list>std::mutexsome_mutex;std::list<int>mylist;voidfunc(intvalue){some_mutex.lock();//加锁mylist.push_back(value);some_mutex.unlock();//解锁}std::lock_guard......
  • 数组变异方法和非变异方法的总结
    区别:1.操作数组的方法中,分为变异方法和非变异方法。2.其中,变异方法意味着会改变原数组,而非变异方法则只会返回一个新数组,不会修改原始数组数组变异方法:push()//数组尾部追加一个元素pop()//数组尾部弹出一个元素shift()//数组头部弹出一个元素unshift()//数组头部插入一个......
  • Redis漏洞总结--未授权--沙箱绕过--(CNVD-2015-07557)&&(CNVD-2019-21763)&&(CVE-2022
    Redis未授权--沙箱绕过--(CNVD-2015-07557)&&(CNVD-2019-21763)&&(CVE-2022-0543)环境复现采用Vulfocus靶场进行环境复现,官网docker搭建有问题,具体搭建教程参考vulfocus不能同步的解决方法/vulfocus同步失败CNVD-2015-07557未授权访问影响版本Redis<=5.0.5漏洞探测使用端......
  • 每日总结
    今日收获学会了有关hive的数据清洗;也算是重温了有关hive的相关知识;背了单词!!做了几道软考的题目,嗯,选择题好难;明天预计继续我的背单词旅程;继续学习hive的相关知识去!软考难,还是得学!!和友友一起报名了程序设计大赛,加油加油!!!还报名了英语六级、软考、网络安全知识竞赛...好忙......
  • 今日总结
    今天学习了hadoop伪分布式3.2伪分布式运行模式3.2.1启动HDFS并运行MapReduce程序配置集群,修改Hadoop的配置文件(/hadoop/hadoop-2.7.7/etc/hadoop目录下)①core-site.xml<configuration><!--指定HDFS中NameNode的地址--><property><name>fs.defaultFS</name>......
  • Python-day13
    复习:字符串#字符串生成#字符串对齐#大小写变换#字符串劈分#字符串判断相关方法#字符串替换与合并#字符串比较#字符串切片#格式化字符串#字符串编码解码#字符串查询s1='abc's2="a"+'b'+'c's3=''.join({'a','b','c'})s4=''.join(('a�......
  • 每日总结
    今天又测试了一下hbase的安装hbase的启动没有任何问题但是phoenix的安装还是不行,已经按照步骤一步步的安装但是每次到启动的前一句就会卡住着了各种各样的解决方法还是不行,有同学问题和我一样但是用他的就能成功但是我的就不行,莫名其妙哦。然后今天复习了软考的基础知识,将前面......