一、ASP.NET Core简介
.Net Core是一个通用的开发平台,主要特点是跨平台(它可在 Windows、Mac OS和Linux 的多个发布版本上运行),基于.Net Core开发的应用程序可以运行在不同的操作系统上;而ASP.NET Core是基于.NET Core平台的web开发框架,具有模块化、开源、灵活、易部署等特点;
二、项目里的Startup类
ConfigureServices:向依赖注入容器添加服务;
Configure:用于添加中间件,配置请求管道;
三、依赖注入
使用依赖注入的原因?
程序中有多个组件,组件之间存在较高的耦合,某个组件如果出现问题,对于维护性来说,维护成本会比较高,并且开发的灵活性比较低;
解决办法?
使用“依赖倒置原则”的开发模式,高层和低层之间没有直接相互依赖,它们都是依赖于抽象;高层只关心接口,低层根据高层的接口设计来进行实现;这样高层和低层之间就实现了解耦;
四、IOC容器
IOC容器,即依赖注入容器,也称控制反转容器;它是一个类,用于管理程序中用到的依赖注入;我们可以把它视为一个创建对象的工厂,同时它也负责管理所创建的对象的生命周期;
五、ASP.NET Core中的依赖注入
在ASP.NET Core里,被放入依赖注入容器的类型或组件都称为服务;服务分为两种类型:1、框架服务,这些服务是ASP.NET Core框架的组成部分,如 IApplicationBuilder、IHostingEnvironment和ILoggerFactory等; 2、应用服务,由用户放到容器中的服务都属于应用服务;
在ASP.NET Core内置的依赖注入容器中,服务的生命周期有3种:
1、Singleton: 容器会创建服务的单例,在整个应用程序中会一直存在并且可以使用;
2、Transient: 每一次服务被请求时,都会创建一个新的实例;
3、Scoped:每一次服务被请求时,都会创建一个新的实例, 并且在这个请求内此实例一直都存在;