ASP.NET Core 基础读书笔记整理

举报
花溪 发表于 2021/06/15 17:41:19 2021/06/15
【摘要】 今天主要学习内容知识点回顾:Asp. NET Core 从入门到学会如何做一个安全可复用的框架1.1 为什么用.NET Core?1.1.1.框架介绍.NET是一种用于构建多种应用的免费开源开发平台,在全球,目前NET平台是市场上唯一 一个能涵盖人工智能、物联网、桌面开发、网页开发、云原生应用、移动应用、游戏等厂家的开发框架。软件开发也从传统的单体架构开始不停的变化,分布式单体应用架构,服务...

今天主要学习内容知识点回顾: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()方法之前触发。
  • 响应按照图中箭头的所示方向,依次穿过所有管道。

学习任重而道远,加油!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。