.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 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2021-11-09 POP和OOP和AOP的关系