.NET Core做了什么?

ASP.NET Core 是一个新的开源和跨平台的框架,用于构建如 Web 应用、物联网(IoT)应用和移动后端应用等连接到互联网的基于云的现代应用程序。ASP.NET Core 应用可运行于 .NET Core 和完整的 .NET Framework 之上。它整合了原来ASP.NET中的MVC和WebApi框架,你可以在 Windows、Mac 和 Linux 上跨平台的开发和运行你的 ASP.NET Core 应用。 ASP.NET Core 在架构上做出了一些改变,这些改变会使它成为一个更为精简并且模块化的框架...

你要找的是不是: ASP.NET Core首页 ASP.NET Core文档 ASP.NET Core官方下载 ASP.NET Core极速下载

今天主要学习内容知识点回顾:Asp. NET Core 从入门到学会如何做一个安全可复用的框架

.NET Core做了什么?

1.1 为什么用.NET Core?

1.1.1.框架介绍

.NET是一种用于构建多种应用的免费开源开发平台,在全球,目前NET平台是市场上唯一 一个能涵盖人工智能、物联网、桌面开发、网页开发、云原生应用、移动应用、游戏等厂家的开发框架。
软件开发也从传统的单体架构开始不停的变化,分布式单体应用架构,服务化(SOA)架构,到目前大行其道的微服务架构。不停的挑战者开发者的神经,而微软也适时的推出了 ASP.NET Core,这是NET开发的一次重大革命,它将使数百万开发人员进入一个全新领域的机会。

.NET Core做了什么?

1.1.2.未来的编程是什么样子?

.NET Core做了什么?

1.1.3.学习路径规划(未完,持续更新)

.NET Core做了什么?

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的基础知识

.NET Core做了什么?

LTD(Long Term Support,长期支持版),之后 .NET Core将更名NET,固定每年释出新版,并定义双数版号为LTS版,单数版号为 Current版

.NET Core做了什么?

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亮点及特点

.NET Core做了什么?

5.1WebAPI模板和MVC模板对比

.NET Core做了什么?

API模板包含创建ASP. NET Core RESTful,HTTP服务所需的一切,API不需要网站可视化的内容,因此API模板只会创建 Controllers文件夹。它不会创建 Models和 Views文件夹,因为它们不是API所必需的。

.NET Core做了什么?

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)

.NET Core做了什么?

  • 可同时被访问和请求。
  • 可以处理请求后,然后将请求传递给下一个中间件。
  • 可以处理请求后并使管道短路。
  • 可以处理传出响应。
  • 中间件是按照添加的顺序执行的。

7.1ASP.NET Core项目启动流程

ASP.NET Core中的配置文件默认加载顺序:appsetting.json、用户机密、环境变量、命令行参数 。

7.1.1配置ASP. NET Core请求处理管道

.NET Core做了什么?

日志记录流程:

  • MW1:传入请求
  • MW2传入请求
  • MW3:处理请求并生成响应
  • MW2:传出响应
  • MW1:传出响应
  • 所有的请求处理都会在每个中间件组件调用next()方法之前触发。
  • 请求按照图中箭头的所示方向,依次穿过所有管道。
  • 当中间件处理请求并产生响应时,请求流程会在管道开始反向传递。
  • 所有的响应处理都会在每个中间件组件调用next()方法之前触发。
  • 响应按照图中箭头的所示方向,依次穿过所有管道。

学习任重而道远,加油!

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