.NET框架中是否有依赖注入容器的构建

Rik*_*iki 4 .net c# asp.net asp.net-core

随着 vNext 的到来,我们在 DI 容器中构建了一个可以根据需要使用的版本。但我也听说早期的 .NET 框架也部分支持 DI(不告诉 Unity 或任何其他容器)。例如,在运行时创建控制器或视图(我对此了解不多)。所以我想知道早期的.NET框架中是否已经存在DI容器,如果有的话我们可以使用它们吗?

Dav*_*ych 6

以前版本的 ASP.NET 中没有内置的 DI 容器。您可以非常轻松地设置和使用第 3 方的(NinjectAutofacCastle WindsorUnity等)。它们都可以在 Nuget 上使用,并且可以轻松添加到 MVC 项目中。这里有一个非常好的 Unity 教程:http://www.asp.net/mvc/tutorials/hands-on-labs/aspnet-mvc-4-dependency-injection

至于 vNext,ASP.NET 团队为常见 DI 容器提供了不同的填充器。您可以在此处查看我对内置功能的概述: http: //davidzych.com/2014/06/02/dependency-injection-in-asp-net-vnext/,以及我在 vNext 中设置 Castle Windsor 的概述这里: http: //davidzych.com/2014/07/28/asp-net-vnext-dependency-injection-with-castle-windsor/