一、初识.NET Core
什么是.NET Core? 开源通用的开发框架,支持跨平台,部署,开发,物联网,云服务。 开发目标:跨平台的.NET应用,包含了.NET Framework的类库(3.0之前,有很多类库是移植的,之后就不在从.NET FW移植。) .NET Core采用模块化的管理方式,需要什么组件就获取什么组件。
.NET Core特性— 跨平台、跨架构(x86\x64\ARM)、支持命令行、部署灵活、兼容性强(向下)、开源。
.NET Core和.NET Freamework的关系
- 从出生角度:
- 从发展角度:
.NET Core是.NET FW的下一代产品。
二、ASP.NET Core 3.1
注意:.NET Core 3.1只能运行在VS2019 16.4版本!
ASP.NET Core是重新设计的ASP.NET,从底层将体系结构都改变了。
新功能:Blazor,GRPC(高性能远程过程调用框架)
2.1、启动流程
(1)在VS2019新建一个ASP.NET Core的空web项目。创建完如图:
文件介绍: launchSettings.json是项目调试配置文件,对应项目-属性-调试选项卡的配置项。 appsettings.json是项目配置文件,类似于ASP.NET中的web.config文件。
Program.cs文件,包含了Main方法,web应用的入口方法,主要就是创建主机生成器-配置主机-创建主机-运行主机。
Startup.cs文件,web应用的启动类。
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>();
});
}
解释如上代码中的主机:主机负责web应用程序的启动和生成期的管理,配置服务器和请求处理管道。 主机实际上是一个封装了应用资源的对象 Kestrel:跨平台的适用于ASP.NET Core的web服务器,担当的角色类似于IIS,在linux下性能更高。简单的说,性能高,但功能少,不支持反向代理。
(2)启动方式分两种,第一种同ASP.NET的IIS启动方式,第二种采用自宿主的方式启动,这里采用自宿主的方式启动。 启动效果如图:
|