017.NET5_内置容器基本使用

IOC容器IServiceCollection 

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

什么是IOC?

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

如何使用内置的 IOC IServiceCollection ?

第一种:

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

services.AddTransient<ITestServiceA,TestServicesA>();

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

3. 调佣服务内部方法

第二种:

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

第三种

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

@inject ITestviceA iTestServiceA --- 获取到服务实例
@{
  iTestServiceA.Show();
}
原文地址:https://www.cnblogs.com/ljg3020/p/14401535.html