从 2015 年开始随着互联网成长,云计算和 AI、大数据的爆发,大家从谈论项目信息化到数字化的转型,从 ToC 产业到 ToB 产业的转型,Web 的项目开发模式也开始不断的在变化,出现了众多的新技术,新标准。 微软也适时的推出了 ASP.NET Core,这是.NET 开发的一次重大革命,它将使数百万开发人员进入一个全新领域 的机会。
什么是 ASP .NET Core
ASP.NET Core是一个跨平台,高性能的开源框架,用于开发更加符合现代现代思想的 Web 应用程序,更符合互联网平台,而且它让基于"云"的开发方式更加简单。
ASP.NET Core是基于 ASP.NET 4.x 系列的重新设计的。出于这个原因,它最初称为 ASP.NET 5,但后来重命名为 ASP.NET Core1.0。
ASP.NET Core完全由现有的 ASP.NET 4.x 重写,其架构更改使其更具模块化,可扩展,开源,轻量级,高性能和跨平台的 Web 框架。
ASP .NET Core 的优点和特性
ASP.NET Core框架在开发人员中变得越来越流行,是因为基于以下几个优点和特性:
跨平台
ASP.NET Core框架从底层设计就是为了跨平台。 ASP.NET 4.x 应用程序只能在 IIS 上托管,而 ASP.NET Core应用程序可以托管在 IIS,Apache,Docker 甚至自己把自己托管在进程中(俗称:自托管)。 从开发方式上来看,您可以使用 Visual Studio 或 Visual Studio Code 来构建.NET Core 应用程序。您也可以使用 Sublime 等第三方编辑器。
统一的 MVC 和 WebAPI 的技术栈
使用 ASP.NET Core,我们使用相同的编程模型来创建 MVC 风格的 Web 程序和 ASP.NET Web API。 在这两种情况下,我们创建的 Controller 都从相同的 Controller 基类继承并返回 IActionResult。 顾名思义 IActionResult 是一个接口,它有几个实现。ViewResult 和 JsonResult 只是 IActionResult 接口的内置的返回结果类型中的两个而已。 因此,对于 Web API,控制器返回 JsonResult,对于 MVC 风格的 Web 程序,它返回 ViewResult。
依赖注入
开箱即用,ASP.NET Core内置支持依赖注入。
可测试性
通过内置的依赖注入和用于创建 Web 应用程序和 Web API 的统一编程模型,可以轻松地对 ASP.NET Core应用程序进行单元测试和集成测试。
开源和以社区为中心
ASP.NET Core是完全开源的,由.NET 团队与众多开源开发人员社区合作开发。因此,ASP.NET Core会不断的发展,因为它背后的庞大社区正在建议改进它并帮助修复错误和有问题的方法。这意味着我们会拥有更安全,质量更好的软件。
模块化 HTTP 请求管道
ASP.NET Core提供了模块化的中间件组件。 在 ASP.NET Core中,请求(Request)和响应(Response)的管道都使用了中间件组件。它包含一组丰富的内置中间件组件。我们还可以编写自己的自定义中间件组件。
ASP.NET Core没有了什么呢
与传统的 ASP.NET 4.x Framework 相比,你在 ASP.NET Core中找不到以下内容 :
- Global.asax 文件
- Web.Config 文件
- HTTP 处理程序和 HTTP 模块
- ASP.NET 页面生命周期模型