我已经开始涉足 ASP.Net Core ,并发现 Dependency Injection 是ASP.Net Core框架中的一流公民,它内置并可以用于注入各种服务和库 .
我想知道 which Dependency Injection framework 他们正在使用 . 他们的文件在Introduction to Dependency Injection in ASP.NET Core
ASP.NET Core从头开始设计,以支持和利用依赖注入 . ASP.NET Core应用程序可以通过将它们注入Startup类中的方法来利用内置框架服务,并且还可以为注入配置应用程序服务
他们是否从头开始写自己的?或者他们是否重用现有的开源依赖注入框架 . 如果是的话,哪一个?
除了天生的好奇心之外,问的原因还在于我想在我的 .Net 4.6.1.
ASP.Net Web API 应用程序中使用他们在_1018061中使用的相同框架 .
因为我发现大多数DI框架非常缓慢和臃肿,甚至 Unity .
相比之下,ASP.Net CORE DI框架似乎非常快速和精简 .
1 回答
.NET Core是开源的,所以我们可以自己检查一下 . 基础仓库位于:
https://github.com/dotnet/corefx
ASP.NET Core Repo位于:
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容器 . 可以说微软自己编写了自己的版本,尽管他们也支持根据Dependency Injection回购中的文档使用现有版本 .