.Net Core自带的 IOC

自带的 IOC会提供3种生命周期,只支持.NET CORE

1、Transient(瞬时的)

推荐用法

每次请求时都会创建的瞬时生命周期服务。这个生命周期最适合轻量级,无状态的服务。

自带IOC - 图1

2、Scoped(作用域的)

推荐用法

在同作用域,服务每个请求只创建一次。

自带IOC - 图2

3、Singleton(静态的)

不推荐

一但设置成了Singleton,你的代码就需要注意了

自带IOC - 图3

错误用法 (该代码只有在Singleton模式下才会有问题)

自带IOC - 图4

如果你非要用 Singleton模式你的代码就需要用出调整

调整代码如下:

自带IOC - 图5

.NET Core 3.X MVC 使用自带的IOC

如果没用过自带IOC的我们从零开始学起

1、创建MVC项目

默认MVC是不支持路由的,需要在Startup.cs里面加入

自带IOC - 图6

然后删除自带的Pages

在根目录创建Controllers文件夹和Views文件夹

2、配置IOC

自带IOC - 图7

3、控制器里面使用注入

自带IOC - 图8

BLL层定义一个类

自带IOC - 图9