asp.net core 系列 1 概述

一.   概述

ASP.NET Core 是一个跨平台的高性能开源框架,可以用来:建置 Web 应用程序和服务、IoT应用和移动后端、在 Windows macOS 和 Linux 上使用喜爱的开发工具、部署到云或本地、NET Core 或 .NET Framework 上运行。

  ASP.NET Core  可以面向 .NET Core 或 .NET Framework。面向 .NET Framework 的 ASP.NET Core 应用无法跨平台,它们仅在 Windows 上运行。通常,ASP.NET Core由 .NET Standard 库组成。与 .NET Standard 2.0 兼容的 .NET Framework 版本建议使用4.7.1。在未来ASP.NET Core 3.0及以上只能在 .NET Core 中运行。

 1.1 ASP.NET Core 具有如下优点:

(1)生成 Web UI 和 Web API 的统一场景。

(2)针对可测试性进行构建。

   (3)Razor Pages可以使基于页面的编码方式更简单高效。

    (4)能够在 Windows、macOS 和 Linux 上进行开发和运行。

  (5)开放源代码和以社区为中心。

  (6)集成新式客户端框架和开发工作流。

  (7)基于环境的云就绪配置系统。

  (8)内置依赖项注入。

  (9)轻型的高性能模块化 HTTP 请求管道。

  (10)能够在IIS、Nginx、Apache、Docker 上进行托管或在自己的进程中进行自托管。

  (11)目标到NET Core 时,可以使用并行应用版本控制。

  (12)简化新式 Web 开发的工具。

1.2 使用 ASP.NET Core MVC 生成 Web API 和 Web UI所需的功能:

Model-View-Controller (MVC) 模式使 Web API 和 Web 应用可测试。

    Razor Pages是基于页面的编程模型,它让 Web UI 的生成更加简单高效。

    Razor 标记提供了适用于 Razor 页面和 MVC 视图的高效语法。

    标记帮助程序使服务器端代码可以在 Razor 文件中参与创建和呈现 HTML 元素。

     内置的多数据格式和内容协商支持使 Web API 可访问多种客户端,包括浏览器和移动设备。

   模型绑定自动将 HTTP 请求中的数据映射到操作方法参数。

     模型验证自动执行客户端和服务器端验证。

1.3 NET Core与 .NET Framework 比较

.NET Core与 .NET Framework 相比优势包括: 跨平台、提高性能、并行版本控制、新API、开源。目前NET Framework 还不会被 .NET Core 代替。Core会试图缩小二者在实现上的差距,下表将 ASP.NET Core 与 ASP.NET 4.x 进行比较:

ASP.NET Core ASP.NET 4.x
针对 Windows、macOS 或 Linux 进行生成 针对 Windows 进行生成
Razor 页面是在 ASP.NET Core 2.x 及更高版本中创建 Web UI 时建议使用的方法 使用 Web 窗体、SignalR、MVC、Web API、WebHooks 或网页
每个计算机多个版本 每个计算机一个版本
比 ASP.NET 4.x 性能更高 良好的性能
选择 .NET Framework 或 .NET Core 运行时 使用 .NET Framework 运行时

1.4 运用场景

(1) 在什么情况下要求使用 .NET Core包括: 用户有跨平台需求、用户正在面向微服务、用户正在使用 Docker 容器、需要高性能和可扩展的系统、需按应用程序提供并行的 .NET 版本。

  (2) 在什么情况下使用.NET Framework包括: 当前使用 .NET Framework(建议扩展而不是迁移)、不可用于 .NET Core 的第三方 .NET 库或 NuGet 包、不可用于 .NET Core 的 .NET 技术、不支持 .NET Core 的平台。

    不可用于 .NET Core的.NET技术包括:不能用于 ASP.NET Web 窗体、WCF 服务的实现(将来会考虑在Core上实现)、工作流相关的服务。

原文地址:https://www.cnblogs.com/tianlong/p/10356018.html

时间: 2024-10-29 01:08:25

asp.net core 系列 1 概述的相关文章

asp.net core 系列 14 错误处理

一.概述 本文介绍处理 ASP.NET Core 应用中常见错误的一些方法.主要是关于:开发环境异常页:非开发环境配置自定义异常处理页:配置状态代码页(没有正文响应,http状态400~599的). 1.1 开发环境异常页 要将应用配置为显示有关异常的详细信息的页面,请使用开发环境异常页.要环境设置为 Development,具体查看:asp.net core系列9环境.下面向 Startup.Configure 方法添加代码行: if (env.IsDevelopment()) { //注意:

asp.net core 系列 15 中间件

原文:asp.net core 系列 15 中间件 一.概述 中间件(也叫中间件组件)是一种装配到应用管道以处理请求和响应的软件. 每个组件:(1)选择是否将请求传递到管道中的下一个组件;(2)可以在管道中的下一个组件之前和之后执行工作. 请求委托用于生成请求管道. 请求委托会处理每个 HTTP 请求.使用以下方法配置请求委托:Run,  Map, Use扩展方法.可以将单个请求委托作为匿名方法(称为内联中间件in-line middleware) 或者可以在可重用类中定义.这些可重用的类和内联

asp.net core 系列 16 Web主机 IWebHostBuilder

原文:asp.net core 系列 16 Web主机 IWebHostBuilder 一.概述 在asp.net core中,Host主机负责应用程序启动和生存期管理.host主机包括Web 主机(IWebHostBuilder)和通用主机(IHostBuilder).Web 主机是适用于托管 Web 应用:通用主机(ASP.NET Core 2.1 或更高版本)是适用于托管非 Web 应用:在未来的版本中,通用主机将适用于托管任何类型的应用,包括 Web 应用. 通用主机最终将取代 Web

asp.net core 系列 20 EF基于数据模型创建数据库

原文:asp.net core 系列 20 EF基于数据模型创建数据库 一.概述 本章使用 Entity Framework Core 构建执行基本数据访问的 ASP.NET Core MVC 应用程序.使用迁移(migrations)基于数据模型创建数据库,是一种code first模式.可以在Windows 上使用 Visual Studio 2017,或在 Windows.macOS 或 Linux 上使用 .NET Core CLI 来学习.已经安装了NET Core 2.1 SDK,这

asp.net core系列 30 EF管理数据库架构--必备知识 迁移

原文:asp.net core系列 30 EF管理数据库架构--必备知识 迁移 一.管理数据库架构概述 EF Core 提供两种主要方法来保持 EF Core 模型和数据库架构同步.一是以 EF Core 模型为基准,二是以数据库为基准. (1)如果希望以 EF Core 模型为准,请使用迁移. 对 EF Core 模型进行更改时,此方法会以增量方式将相应架构更改应用到数据库,以使数据库保持与 EF Core 模型兼容.  (2)如果希望以数据库架构为准,请使用反向工程. 使用此方法,可通过将数

asp.net core系列 36 WebAPI 搭建详细示例

原文:asp.net core系列 36 WebAPI 搭建详细示例 一.概述 HTTP不仅仅用于提供网页.HTTP也是构建公开服务和数据的API强大平台.HTTP简单灵活且无处不在.几乎任何你能想到的平台都有一个HTTP库,因此HTTP服务可以覆盖广泛的客户端,包括浏览器,移动设备和传统的桌面应用程序. ASP.NET Web API 是一个框架,基于.NET Framework 或.NET Core 之上构建 Web API. 从本章开始学习Web API系列时,先从一个示例开始,下面使用A

asp.net core系列 44 Web应用 布局

原文:asp.net core系列 44 Web应用 布局 一.概述 MVC的视图与Razor页面经常共享视觉和程序元素,通过使用布局来完成,布局还可减少重复代码.本章演示了以下内容的操作方法:(1)使用通用布局,(2)自定义布局,(3) 共享指令,(4)在呈现Razor页面或MVC视图之前运行通用代码. 大多数 Web 应用都有一个通用布局,可在页面间切换时,为用户提供一致体验. 布局通常包括应用页头.导航或菜单.页脚等常见的用户界面元素,还有经常使用script和css等常用的 HTML 结

asp.net core系列 48 Identity 身份模型自定义

原文:asp.net core系列 48 Identity 身份模型自定义 一.概述 ASP.NET Core Identity提供了一个框架,用于管理和存储在 ASP.NET Core 应用中的用户帐户. Identity添加到项目时单个用户帐户选择作为身份验证机制. 默认情况下,Identity可以使用的 Entity Framework (EF) Core 数据模型. 本文介绍如何自定义的身份标识模型. 1.1 下面是已经存在的身份模型, 由以下实体类型组成: 实体类型 说明 关系 Use

asp.net core系列 55 IS4使用Identity密码保护API

原文:asp.net core系列 55 IS4使用Identity密码保护API 一.概述 OAuth 2.0资源(web api)所有者密码授权,允许客户端(Client项目)向令牌服务(IdentityServer项目)发送用户名和密码,并获取代表该用户的访问令牌.在官方文档中讲到:规范通常建议不要使用“资源所有者密码授权”.当用户进行身份验证并请求访问令牌时,使用一个交互式OpenID Connect流程通常要好得多(下篇再了解). 本篇介绍“资源所有者密码授权”是因为这种授权允许我们快