.Net Core依赖注入

 

1
依赖注入来自于ServiceCollection这个类ServiceCollection server=new ServiceCollection();server.AddTransient() //瞬时,每一次获取都是一个新的对象<br>server.AddSingleton()server.AddSingleton(new class)  //单例,可以自己传入单例的具体对象或者让框架帮助你创建一个<br>server.AddScoped() //范围,出这个范围就销毁,在.net core中是一次请求就销毁

  

 

 

1
AddScoped的用法,跟其他两个都不一样。<br>GetService<T>();获取依赖注入的对象的实例,通常是接口也就是注册时第一个类,如果获取失败则返回null<br>GetRequiredService();跟GetService一样,只是获取失败就直接抛异常<br>GetServices<T>(); 如果这个接口有多个实现类,那么就会全部返回,返回类型为Enumerable<T><br><br>2、[FromServices]的使用<br>  如果在控制器中,你不想全局使用DI注入,你只想给一个Action使用,那么你可以在你使用的Action方法参数内上加上[FromServices] ID注入类
     [HttpGet]
        public IActionResult GetStrings([FromServices]IGetMiss miss) 
        {
            Class aa = new Class(_miss);
            string r = aa.Name;
            return null;
        }

 

本文作者:仲夏不凉爽

本文链接:https://www.cnblogs.com/xiangshifu/p/16875482.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   仲夏不凉爽  阅读(147)  评论(0编辑  收藏  举报
历史上的今天:
2021-11-09 POP和OOP和AOP的关系
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.