2

我已经开始涉足ASP.Net核心,并发现依赖注入是ASP.Net核心框架中的一等公民,它内置并随时可用于注入各种服务和图书馆。ASP.Net核心使用什么依赖注入框架?

我想知道哪个依赖注入框架他们正在使用。他们的文档位于Introduction to Dependency Injection in ASP.NET Core

ASP.NET Core旨在支持和利用依赖注入。 ASP.NET核心应用可以让他们利用内置的框架服务注入到启动类的方法,并应用服务可以配置为注入以及

他们写了自己从地面行动?或者他们是否重新使用现有的开源的依赖注入框架。如果是,哪一个?

之所以问,除了天生的好奇心,也是我想用他们使用的是相同的框架中ASP.Net核心,在我.Net 4.6.1.ASP.Net的Web API应用。

因为我发现大多数DI框架非常缓慢和臃肿,甚至Unity

相比之下,ASP.Net CORE DI框架似乎非常快速和精益。

回答

2

.NET Core是开源的,所以我们可以自己检查一下。基座回购是:

https://github.com/dotnet/corefx

和ASP.NET核心回购是:

https://github.com/aspnet/home

转到 “DependencyInjection” 回购(https://github.com/aspnet/DependencyInjection)和在源极向下导航我们发现https://github.com/aspnet/DependencyInjection/blob/dev/src/Microsoft.Extensions.DependencyInjection/ServiceProvider.cs

通过该文件读取它肯定看起来像一个DI容器。公平地说,微软自己写了自己的,虽然他们也支持使用现有的根据依赖注入回购文件。

+1

他们写了自己的,特别选择不给它自己的名字。这只是“ASP.NET Core中的内置服务容器”。 – ssmith