Loading

ASP.NET Core简介

什么是ASP.NET Core?

ASP.NET Core是ASP.NET Web Framework的新版本,主要用于在.NET Core平台上运行。

ASP.NET Core是一个免费的,开源的,高性能,轻量级且跨平台的框架,用于构建基于云的应用程序,例如Web应用程序,IoT应用程序和移动后端。它旨在在云和本地环境中运行。

与.NET Core一样,它以最小的开销进行模块化设计,然后可以根据应用程序要求将其他更高级的功能作为NuGet软件包添加。这样可实现高性能,需要更少的内存,更小的部署大小以及易于维护。

ASP.NET Core Framework完全重写了现有的ASP.NET 4.x,并进行了体系结构更改,使其更具模块化,可伸缩性,开源,高性能,轻量级和跨平台的Web框架。

ASP.NET Core是Microsoft和社区支持的开放源代码框架,因此您还可以从GitHub(https://github.com/dotnet/aspnetcore)上的ASP.NET Core库中贡献或下载源代码。

ASP.NET Core 3.x应用程序只能在.NET Core上开发和运行,而ASP.NET Core 1.x和2.x应用程序只能在.NET Core上开发和运行。 (跨平台)以及.NET Framework(仅限Windows)。为了更好的理解,请看下面的图片。

注意:ASP.NET Core最初是作为ASP.NET 5启动的,但后来被重命名为ASP.NET Core。

为什么选择ASP.NET Core?

如今,ASP.NET核心框架在开发者中越来越受欢迎。现代开发人员使用它的原因有很多,其中一些原因如下:

  • 开源:
    ASP.NET Core框架是开源的,这是其流行的主要原因。您可以在https://github.com/aspnet上获得此.NET Core框架的整个源代码,您可以自由下载源代码,即使您愿意,也可以修改和编译自己的版本。
    .NET Core团队随时为您提供支持,以帮助您无缝开发应用程序。它通常在短时间内定期接收错误修复和改进更新。
    您无需再等待更新。框架代码的灵活性使其始终处于开发人员的选择之列。根据项目的要求,库和框架的组件可以在以后添加。

  • 跨平台:
    ASP.NET Core Framework是从头开始设计的,请牢记对于开发和部署都是跨平台的。因此,我们不需要使用不同的框架为不同的平台构建不同的应用程序。
    让我们通过与ASP.NET Framework的早期版本进行比较,从ASP.NET Core的角度讨论什么是跨平台。
    早期版本的ASP.NET Framework应用程序只能在Windows平台上运行,而ASP.NET Core应用程序可以在Windows,Mac或Linux操作系统等不同平台上开发和运行。
    我们只能在IIS上托管早期的ASP.NET Framework 4.x应用程序,而我们可以在IIS,Nginx,Docker,Apache甚至自托管部署中托管ASP.NET Core应用程序。
    要开发ASP.NET Core应用程序,您有多种选择,例如可以使用Visual Studio或Visual Studio Code。
    如果需要,还可以根据需要使用任何第三方编辑器。

  • CLI支持:使用CLI命令,您可以开发和运行.NET应用程序,也可以使用CLI命令发布该应用程序。
    快速:ASP.NET Core不再依赖System.Web.dll进行浏览器-服务器通信。 ASP.NET Core允许我们包含应用程序所需的软件包。这减少了请求管道,并提高了性能和可伸缩性。

  • IoC容器:实时应用程序中最重要的使用设计模式之一是依赖注入设计模式。它包括用于自动依赖项注入的内置IoC(控制反转)容器,使其可以维护和测试。

统一的MVC和Web API框架:

ASP.NET Core提供了用于开发Web应用程序和Web API的统一编程模型。这意味着可以使用单个控制器类来处理两者。
我们在ASP.NET Core(Web APP或Web API)应用程序中创建的Controller将继承自Controller基类并返回IActionResult接口。
IActionResult接口提供了几种实现。内置的结果类型(例如JsonResult和ViewResult)(以及类似的结果类型如此之多,我们将在后面讨论)实现IActionResult接口。
在ASP.NET Core Web API应用程序中,控制器操作方法将返回JsonResult。
同时,如果它是ASP.NET Core Web应用程序,则控制器操作方法的返回类型将为ViewResult。

测试与可维护性:

您可以轻松地测试和维护使用ASP.NET Core MVC框架开发的应用程序。之所以可行,是因为它使您可以将应用程序的不同部分分成独立的部分,也可以使它们独立地进行测试。
诸如xUnit和MOQ之类的测试框架可以轻松集成到ASP.NET Core MVC应用程序中,以模拟任何情况。

与现代UI框架集成:

它允许您使用和管理现代UI框架,例如AngularJS / Angular,React JS和Bootstrap等。

处理请求和响应管道:

通过使用新的中间件组件,我们可以在ASP.NET Core应用程序中处理请求和响应。在早期的ASP.NET 4.x中,我们通常使用处理程序和模块来处理请求和响应管道。
ASP.NET Core Framework提供了许多内置的中间件组件,我们可以使用这些中间件组件来处理请求和响应管道。
如果需要,还可以创建自己的中间件组件,并在请求-响应管道中使用它们。在以后的文章中,我们将详细讨论中间件组件。
我们还将讨论如何创建自定义中间件组件以及如何在ASP.NET Core应用程序中使用它们。

托管:

ASP.NET Core Web应用程序可以使用任何Web服务器(如IIS,Apache等)托管在多个平台上,它不仅依赖IIS作为标准的.NET Framework。

代码共享:

它使您可以构建可与.NET Framework(例如.NET Framework 4.x或Mono)一起使用的类库。因此,可以跨框架共享单个代码库。
并行应用程序版本控制:ASP.NET Core在.NET Core中运行,它支持同时运行多个版本的应用程序。

可扩展框架:

ASP.NET Core MVC框架被设计为高度可扩展的。这意味着您可以立即创建一个应用程序,将来可以扩展到任何级别。该框架提供了使其具有强大功能的一些关键功能如下。

  • 查看组件
  • 标签助手
  • 路由

较小的部署足迹:

ASP.NET Core应用程序在.NET Core上运行,该.NET Core小于完整的.NET Framework。因此,仅使用.NET CoreFX一部分的应用程序将具有较小的部署大小。这减少了部署占用空间。

优秀的开发人员工具:

ASP.NET Core附带了许多预加载的工具。由于它们的简单易用,任何人都希望使用这些工具。使用JetBrains,ReSharper和其他工具,可以很容易地构建测试和其他非常规应用程序。

多功能性:

除了现代的Web应用程序,用户还可以创建移动和桌面应用程序。他们可以随时切换。
注意:许多人对ASP.NET Core和.NET Core感到困惑。请注意,ASP.NET Core和.NET Core不同。它们是不同的,就像ASP.NET和.NET Framework是不同的一样。 .NET Core是一个快速,轻量级,模块化和开放源代码框架,用于创建Web应用程序,在Windows,Linux和macOS上运行的服务。因此,它是一个运行ASP.NET Core应用程序的软件平台。

ASP.NET Core没有什么?

如果您来自ASP.NET 4.x,则在ASP.NET Core中将找不到以下内容

  • Global.asax文件
  • Web.Config文件
  • HTTP处理程序和HTTP模块
  • ASP.NET页面生命周期模型

.NET Core与ASP.NET Core:

.Net核心:

  • .NET Core是开源和跨平台的
  • .NET Core是一个运行时,用于执行基于其构建的应用程序。
  • 安装.NET Core运行时以运行应用程序,并安装.NET Core SDK来构建应用程序。
  • .NET Core 3.1 –最新版本

ASP.NET Core:

  • Asp.net的核心是开源和跨平台
  • ASP.NET Core是一个Web框架,用于在.NET Core之上构建Web应用程序,IoT应用程序和移动后端。
  • 没有单独的运行时,并且ASP.NET Core没有可用的SDK。 .NET Core运行时和SDK包括ASP.NET Core库。
  • ASP.NET Core 3.1 –最新版本
  • ASP.NET Core没有单独的版本控制。它与.NET Core版本相同。

语言支持:

Dot Net Core Framework支持以下语言,即,使用以下语言可以开发.NET Core应用程序。

截至今天为止,最新版本的.NET Core是3.1。
截至今天为止,最新版本的ASP.NET Core也为3.1。
没有单独的ASP.NET Core版本。它与.NET Core版本相同。

.NET Core被称为“核心”,因为它包含.NET Framework的核心功能。 .NET Core的主要目标是使.NET Framework开源和跨平台兼容,以便可以在资源受限的环境中使用。
它包括运行基本.NET Core应用程序所需的最低功能,以及可以作为NuGet软件包打包的其他高级功能。

posted @ 2020-09-21 17:55  痕迹g  阅读(3127)  评论(0编辑  收藏  举报