017.NET5_内置容器基本使用

时间:2025-01-25 22:34:56

IOC容器IServiceCollection

.net 5已经内置了IOC容器。

什么是IOC?

把对象的创建交给第三方容器去创建

如何使用内置的 IOC IServiceCollection ?

第一种:

1. 在Startup中的ConfigureServices方法中注册服务

services.AddTransient<ITestServiceA,TestServicesA>();

2.在控制器中,通过构造函数,定义服务的抽象类型,作为参数,在运行时,自动得到服务的具体

017.NET5_内置容器基本使用

3. 调佣服务内部方法

第二种:

构造函数中,使用 IServiceProvider ,通过它来得到一个服务的抽象IServiceA

017.NET5_内置容器基本使用

第三种

注册服务后, 在视图中通过关键字@inject 获取实例

@inject ITestviceA iTestServiceA --- 获取到服务实例
@{
iTestServiceA.Show();
}