.NET Core web 專案, a.k.a ASP.NET Core, 內建了 Dependency Injection 機制,不需要再另外安裝套件才可使用 DI 了。事實上,.NET Core的專案要擴充功能,也都是利用 DI 來新增至系統內。例如 .AddMvc()
內建服務
初始時,就已經有以下的服務

ASP.NET 也內建許多服務,像是 MVC, EntityFramework,而這一類的新增方式是透過 AddServiceName 的模式新增至 IServiceCollection 中。
| 1 | // This method gets called by the runtime. Use this method to add services to the container. | 
註冊服務
當自己所開發的功能想要註冊系統內,也需要走一樣的路徑。是需要被加到 ServiceCollection 內。但根據生命週期的差異,所使用的註冊方式也會有所不一樣
AddTransient
Transient : 服務在每次被執行時,都會建立一個新的執行實體。這模式很適合 lightweight、stateless的服務。
| 1 | services.AddTransient<IOperationTransient, Operation>(); | 
AddScoped
Scoped : 服務會在被要求時建立一次,而在這次要求期間,服務不論執行幾次,都不會再次被重新建立。
| 1 | services.AddScoped<IOperationScoped, Operation>(); | 
AddSingleton
Singleton 會在第一次呼叫時被建立或是在 ConfigureServies 內被執行,之後程序如果有執行到這一個服務時,基本上都是使用相同的實體
| 1 | services.AddSingleton<IOperationSingleton, Operation>(); |