3.asp.net core 关键概念

1. StartUp类

Startup.ConfigureServices方法里配置或注册服务

Startup.Configure方法里配置请求处理管道。请求处理管道由一系列中间件组建构成,每个中间件对HttpContext进行异步操作,然后调用下一个中间件组件,或是结束请求。

2.依赖注入

asp.net core拥有内建的依赖注入框架。在应用中,可以通过创建参数中包含目标服务的类型或接口的构造函数,来获取这个服务的实例。

3.中间件

asp.net core包含丰富的内建中间件,你也可以实现自己的中间件。中间件通常是在Startup.Configure方法里,通过调用它的Use...扩展方法来加入到请求处理管道里,比如UseStaticFiles或者UseMvc等。

4.主机

asp.net core在启动时构建一个主机。主机封装了应用需要的所有资源,比如HTTP服务器、中间件、日志系统、依赖注入框架、配置等。之所以把所有的资源放在一个地方,是为了生命周期管理。

有两种主机可用,通用主机和web主机。推荐使用通用主机,web主机是为了向后兼容考虑的。

创建主机的代码在Program.Main方法里:

public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
} public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}

5.服务器

asp.net core应用程序使用HTTP服务器监听http请求。服务器把对应用程序的请求转化为HttpContext。

6.配置

asp.net core中有一系列内建的配置提供器,比如appsettings.json,环境变量,命令行参数等,你也可是实现自定义的配置提供器。

7.选项

asp.net core 尽可能地遵照选项模式来存储和检索配置信息。选项模式使用类来代表一组相关的设置。

8.环境

执行环境包括3中类型:开发,暂存,生产。可以在ASPNETCORE_ENVIRONMENT环境变量里设置具体的执行环境。程序在启动的时候,读取这个环境变量,并且把值存储在IHostingEnvironment实现里。在应用中,可以通过DI依赖注入来获取它的实例。

9.日志

asp.net core支持日志api,它能和许多内建的和第三方日志提供程序通信。

在应用中通过依赖注入获取一个ILogger实例,并调用log方法记录日志。

10.路由

路由就是对请求url和处理程序的映射。

11.错误处理

asp.net core包含内建的错误处理机制。

12.构造HTTP请求

IHttpClientFactory实现可以用来创建HttpClient实例。

13.内容根目录

通常内容根目录指向web app可执行文件所在目录,可以在构建主机的时候配置其他的位置。

14.web根目录

web根目录下存放公共的静态的资源,比如css,js和图片文件,通常指向目录{Content Root}/wwwroot,可以在构建主机的时候配置其他的位置。默认情况下,静态文件中间件只会从web根目录和它的子目录里提供文件。

在razor(.cshtml)文件里,~/代表的就是web根目录。以~/开头的路径被称为虚拟路径。

上一篇:【spring源码分析】IOC容器初始化(三)


下一篇:Docker关键概念阐述