c# – 使用带有ASP.NET 5的DI调用构造函数时解析依赖关系
发布时间:2020-12-15 22:13:59 所属栏目:百科 来源:网络整理
导读:Web上似乎充斥着如何在ASP.NET 5中使用DI的示例,但是其中一个示例没有显示如何调用构造函数并解决依赖关系. 以下只是众多案例中的一个: http://social.technet.microsoft.com/wiki/contents/articles/28875.dependency-injection-in-asp-net-vnext.aspx 但
Web上似乎充斥着如何在ASP.NET 5中使用DI的示例,但是其中一个示例没有显示如何调用构造函数并解决依赖关系.
以下只是众多案例中的一个: 但是,如果我想要执行以下操作会发生什么: var todoRepository = app.ApplicationServices.GetRequiredService<ITodoRepository>(); ToDoController controller = new TodoController(todoRepository); 据推测,这可以缩短为…… .Get<TodoController>() 就像在Ninject中一样. 有人可以解释一下如何做到这一点? 解决方法
首先,您需要确保要构建的类已在DI容器中注册. (鉴于您的控制器示例,它可能已经归功于MVC框架.)
有几种方法可以做到这一点,其中最基本的方法是注册Transient.请注意,这需要在Startup类的ConfigureServices阶段完成. services.AddTransient<ToDoController>(); 一旦您注册了它,就可以像解决任何其他服务一样解决它: app.ApplicationServices.GetRequiredService<ToDoController>(); 有关更多信息,我建议使用Victor Hurdugaci’s blog on Dependency Injection in ASP.NET vNext.它是为alpha编写的,但它看起来仍然准确. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读