ASP.NET Core 基础读书笔记整理
今天主要学习内容知识点回顾:Asp. NET Core 从入门到学会如何做一个安全可复用的框架
1.1 为什么用.NET Core?
1.1.1.框架介绍
.NET是一种用于构建多种应用的免费开源开发平台,在全球,目前NET平台是市场上唯一 一个能涵盖人工智能、物联网、桌面开发、网页开发、云原生应用、移动应用、游戏等厂家的开发框架。
软件开发也从传统的单体架构开始不停的变化,分布式单体应用架构,服务化(SOA)架构,到目前大行其道的微服务架构。不停的挑战者开发者的神经,而微软也适时的推出了 ASP.NET Core,这是NET开发的一次重大革命,它将使数百万开发人员进入一个全新领域的机会。
1.1.2.未来的编程是什么样子?
1.1.3.学习路径规划(未完,持续更新)
2.1 编程语言和 .NET的关系
2.1.1.什么是编程语言
根据维基百科的解释,编程语言(Programming Language)是用来定义计算机程序的形式语言,是一种被标准化的交流技巧,用来向计算机发出指令。计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下应当采取的行动。
C#、F#、B、Java、C、C++、python、C#B《TavaCC+Pytho《RubyTavaScript等都是编程语言。而.NET则是一个通用的开发平台,它包含了 NET Framework、Mono和. NETCore等技术框架,旨在为开发者提供一个具有一致
性的编程环境,让代码、部署、版本控制以及基于标准API进行的开发工作都有统一的封装和构建方式,帮助开发者提升开发效率,为用户带来良好的体验。
2.1.2.C#与.NET的关系
c#是一种编程语言,它运行在. NET Framework/Core CLR上,是用于创建应用程序的高级语言。
net是一个通用开发平台,其中包含. NET Framework. NET Core和Mono等框架。
因为.NET支持多种编程语言,所以读者可以使用C#、F#或VB.NET编写NET应用程序。我们通过C#编写的代码可运行在NET这个平台上,这就是二者之间的关系。
2.1 ASP. NET Core的基础知识
LTD(Long Term Support,长期支持版),之后 .NET Core将更名NET,固定每年释出新版,并定义双数版号为LTS版,单数版号为 Current版
3.1 什么是ASP. NET Core
- ASP. NET Core是一个跨平台,高性能的开源框架,用于构建现代的,基于云连接互联网的应用程序。
- ASP. NET Core是ASP. NET 4.x的重新设计。出于这个原因,它最初称为ASP.NET5,但后来重命名为ASP. NET Core1.0
3.1.1.ASP. NET Core包含什么
- ASP. NET Core
- ASP. NET Core MVC
- ASP. NET Core Identity
- Entity Framework Core
- ASP. NET Core Razor Page
- ASP. NET Core blazor
4.1 ASP.Net Core亮点及特点
5.1WebAPI模板和MVC模板对比
API模板包含创建ASP. NET Core RESTful,HTTP服务所需的一切,API不需要网站可视化的内容,因此API模板只会创建 Controllers文件夹。它不会创建 Models和 Views文件夹,因为它们不是API所必需的。
Web应用程序创建的项目:我们有 Controllers、 Models和 Views文件夹。在 Views文件夹中,已经内置了示例视图文件和布局文件,它们代表Web应用程序的用户界面。在 wwwroot文件夹中还有包含Web应用程序通常需要的 JavaScript文件、CSS文件,以及前端网页需要依赖的组件包或资源文件。
6.1ASP.NET Core项目及中间件
6.1.1.NET Core项目的入口--Program.cs
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args). Build(). Run();
}
public static IHostBuilder CreateHostB(string[]args)=>
Host. CreateDefaultBuilder(args)
. ConfiqureWebHost Defaults(webBuilder=>
{
webBuilder. UseStartup<Startup>(;
});
}
- 请牢记这一点, ASP NET Core应用程序最初作为控制台应用程序启动,而Program.cs文件中的Main()方法就是入口。
- 因此,当NET运行时,执行我们的应用程序,它会查找此Main()方法,然后执行其中的代码段。
- 而在这个 ASP NET Core中定义了Main()方法并启动它,其内部的代码段会让程序成为一个 ASP NET Core Web应用程序。
- 如果读者运行并跟踪一下Main()方法,则会发现它调用 CreateHostBuilder()方法并传递命令行参数
6.1.2.NET Core项目的入口--Startup.cs
public class Startup
{
public void ConfigureServices( services)
{
}
public void Configure(IApplicationBuilo app, IWebHostEnvironment env)
{
if (env. IsDevelopment())
{
app. UseDeveloperExceptionPage();
}
app.UseEndpoints(endpoints: IEndpointRouteBuilder=>
{
endpoints. MapControllerRoute(
name: "default"
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
}
- Startup类虽然只有两个方法,但是这两个方法做了非常重要的事情。
- ConfigureServices()方法配置应用程序所需的服务。
- Configure()方法配置应用程序的请求处理管道。
- 这两种方法的作用是非常重要的,是学习AP. NET Core必须掌握的知识,在后面的内容中,我们会频繁使用这两种方法。
6.1.3.Asp.NET Core的中间件(Middleware)
- 可同时被访问和请求。
- 可以处理请求后,然后将请求传递给下一个中间件。
- 可以处理请求后并使管道短路。
- 可以处理传出响应。
- 中间件是按照添加的顺序执行的。
7.1ASP.NET Core项目启动流程
ASP.NET Core中的配置文件默认加载顺序:appsetting.json、用户机密、环境变量、命令行参数 。
7.1.1配置ASP. NET Core请求处理管道
日志记录流程:
- MW1:传入请求
- MW2传入请求
- MW3:处理请求并生成响应
- MW2:传出响应
- MW1:传出响应
- 所有的请求处理都会在每个中间件组件调用next()方法之前触发。
- 请求按照图中箭头的所示方向,依次穿过所有管道。
- 当中间件处理请求并产生响应时,请求流程会在管道开始反向传递。
- 所有的响应处理都会在每个中间件组件调用next()方法之前触发。
- 响应按照图中箭头的所示方向,依次穿过所有管道。
学习任重而道远,加油!
- 点赞
- 收藏
- 关注作者
评论(0)