[翻译] 初看 ASP.NET Core 3.0 即将到来的变化

原文: A first look at changes coming in ASP.NET Core 3.0

在我们努力完成下一个 minor 版本的 ASP.NET Core 的同时,我们也在对下一个 major 版本进行更新,其中包括如何使用框架组合项目、更紧密的 .NET Core 集成以及第三方开源集成,所有这些事的目标都是为了让您更容易、更快速地开发。有关 .NET Core 3.0 的更多内容,我们建议您查看我们之前关于在 Windows 上添加对 .NET Core 3.0 的 WinForms 和 WPF 支持的公告。我们将在不久的将来发布有关 ASP.NET Core 3.0 中新功能的更多详细信息。

包 vs 框架

历史的原因,经过不同的版本和年代,ASP.NET Core 的项目引用和运行方式已经发生了变化。在 1.0 中,ASP.NET Core 本身就只是一个包,像引用其他 Nuget 包一样的出现在项目。这有利有弊,
随着时间的推移,我们已经改进了这个模型,试图平衡模块化引用与更大且必备框架之间的优劣势。在 2.1 中,ASP.NET Core 最终发展成为一个 .NET Core “共享框架”(就像 .NET Core 本身的基础框架 Microsoft.NETCore.App 一样)。ASP.NET Core 团队成员 Nate McMaster 撰写的这篇博客文章很好地解释了共享框架的工作原理,同时也了指出当前方法的一些问题。我们在 3.0 中引入的更新旨在为所有用户减少这些问题。

作为本次更新的一部分,将从 ASP.NET Core 3.0 共享框架中删除一些值得注意的子组件

  • Json.NET (Newtonsoft.Json)
  • Entity Framework Core (Microsoft.EntityFrameworkCore.*)

有关在 .NET Core 中添加 JSON API 的更多详细信息,请参阅此公告。对于现在仍然依赖于 Json.NET 的地方(例如 MVC 中的 JSON 格式化),我们将继续提供该集成的软件包,但默认将改为使用即将推出的内置 JSON API。

Entity Framework Core 将作为 3.0 中的 “纯” NuGet 包发布。这使得其发布模式与 .NET 上的其他数据访问库相同,用最简单的方式保持持续更新,提供各种 .NET 平台的支持。注意,Entity Framework Core 移出共享框架对其作为 Microsoft 旗下开发、支持和维护的库的状态没有影响,并且它将继续被 .NET Core 支持策略所覆盖。

充分利用 .NET Core

正如本月早些时候在 .NET 博客上所宣布的那样,由于 .NET Framework 的更新策略以及可能对现有应用程序带来破坏,.NET Framework 将只会获得很少的 .NET Core 的新平台新语言特性。为了确保 ASP.NET Core 能够充分利用 .NET Core 未来的发展改进,ASP.NET Core 将从 3.0 开始仅支持在 .NET Core 上运行。展望未来,您可以简单地将 ASP.NET Core 视为 .NET Core 的一部分。

今天在 .NET Framework 上使用 ASP.NET Core 的客户可以继续使用完全支持的 2.1 LTS 版本。2.1 的支持和服务将持续到2021年8月21日。

有关从 .NET Framework 移植到 .NET Core 的更多信息,请参阅此文档

通过专注的第三方开源集成提供更多价值

与此同时,我们对 3.0 中“平台”的构成做了更明确的区分,从该层中删除了第三方组件,我们认识到, 许多更高层次的方案都是由已建立、有能力且支持良好的开源组件提供最佳支持的, 我们可以帮助支持这些组件更好的集成到 ASP.NET Core 应用程序中。

这种支持将采取不同的形式, 包括我们团队构建的一流集成 API 和包、我们的工程师对现有库的贡献、使用这些库的默认体验中的项目模板、官方 ASP.NET Core上文档站点、以及处理关键问题和 bug 修复 (包括安全性) 的过程。

我们已经在 2.2 版本中开始了这一过程,为流行的 IdentityServer 库开发了新的集成,这将帮助我们在构建 ASP.NET Core 应用程序中的 API 授权时非常简单和实用,同时允许客户在需要时充分利用 IdentityServer 其功能。

我们还致力于简化构建 HTTP API 的体验,新的 API 约定和分析器可以更轻松地使用流行的 Open API库(如 Swashbuckle 和 NSwag),以及一个新的 API 客户端生成系统,可以非常简单与代码生成器集成,例如 AutoRest 和 NSwag。

如果你对我们新的健康检查功能感兴趣,BeatPulse 库的作者正在努力移植他们的库。

我们打算将这些经验汇集到一个新的项目模板中,以便在 2.2 发布之后提供。

尾声

请持续关注,我们会继续发布 ASP.NET Core 在 .NET Core 3.0 中的变化,包括我们在此版本中将要启用的新功能的简介。我们会定期在公告中发布变更详情和其他信息,我们鼓励您订阅。

[翻译] 初看 ASP.NET Core 3.0 即将到来的变化的更多相关文章

  1. ASP.NET Core 3.0中使用动态控制器路由

    原文:Dynamic controller routing in ASP.NET Core 3.0 作者:Filip W 译文:https://www.cnblogs.com/lwqlun/p/114 ...

  2. 探索ASP.Net Core 3.0系列六:ASP.NET Core 3.0新特性启动信息中的结构化日志

    前言:在本文中,我将聊聊在ASP.NET Core 3.0中细小的变化——启动时记录消息的方式进行小的更改. 现在,ASP.NET Core不再将消息直接记录到控制台,而是正确使用了logging 基 ...

  3. ASP.NET Core 3.0 上的gRPC服务模板初体验(多图)

    早就听说ASP.NET Core 3.0中引入了gRPC的服务模板,正好趁着家里电脑刚做了新系统,然后装了VS2019的功夫来体验一把.同时记录体验的过程.如果你也想按照本文的步骤体验的话,那你得先安 ...

  4. [翻译] ASP.NET Core 3.0 的新增功能

    ASP.NET Core 3.0 的新增功能 全文翻译自微软官方文档英文版 What's new in ASP.NET Core 3.0 本文重点介绍了 ASP.NET Core 3.0 中最重要的更 ...

  5. 【翻译】asp.net core 3.0基本概念

    这篇文章描述了开发asp.net core所需要掌握的基本概念. 原文地址:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/?vie ...

  6. ASP.NET Core 1.0基础之日志

    过年出去玩了一圈,回来继续翻译.前两天偷懒没有翻译,只是转了两篇C# 7计划中的新features,大家还是很支持的.现在继续完善这个系列. 来源https://docs.asp.net/en/lat ...

  7. ASP.NET Core 2.0 : 三. 项目结构

    本章我们一起来对比着ASP.NET Framework版本看一下ASP.NET Core 2.0的项目结构.(此后的文章也尽量这样对比着, 方便学习理解.) 关注差异, 也为项目迁移做准备. 新建项目 ...

  8. 【翻译】介绍 ASP.NET Core 中的 Razor Pages

    介绍 ASP.NET Core 中的 Razor Pages 原文地址:Introduction to Razor Pages in ASP.NET Core         译文地址:介绍 asp. ...

  9. 从ASP.NET Core 3.0 preview 特性,了解CLR的Garbage Collection

    前言 在阅读这篇文章:Announcing Net Core 3 Preview3的时候,我看到了这样一个特性: Docker and cgroup memory Limits We conclude ...

随机推荐

  1. tornado 初解

    对于使用习惯Django的我来说,tornado实在是很简陋,没有那么多复杂的文件分类. 在tornado中,一个简单web只需要十几行简单的代码就OK了 import tornado.web imp ...

  2. LeetCode题解之 Intersection of Two Arrays

    1.题目描述 2.问题分析 借助于set来做. 3.代码 class Solution { public: vector<int> intersection(vector<int&g ...

  3. 查看Windows服务器安装了那些SQL Server组件

    如何查看Windows服务器安装了那些SQL Server组件呢? 最近就遇到这样一个需求,需要知道Windows服务器是否安装了Replication组件,那么有几种方法查看Windows服务器安装 ...

  4. SQL Server遗失管理权限账号密码怎么办?

    假如一个SQL Server实例只允许"SQL身份认证"模式登录数据库,而糟糕的是你忘记了sa的密码(sa出于安全考虑应该被禁用,这里仅仅为了描述问题)或其它具有sysadmin角 ...

  5. [20181206]关于一致性读取3.txt

    [20181206]关于一致性读取3.txt --//简单演示一致性读取以及如何读取undo重构数据块的.我不想转储对应的undo块,解析那些复杂的过程. 1.环境:SCOTT@book> @ ...

  6. C#-运算符(四)

    算术运算符 +:两个操作数相加,例:2+3得5 -:第一个操作数减去第二个操作数 例:5-3得2 *:两个操作数相乘,例:2*3得6 /:分子除以分母,例:5/2得2 %:取模运算符,整除后的余数,例 ...

  7. 关于wordpress慢的问题

    随笔记载: 关于wordpress访问慢的原因,主要是wordpress采用了google前端库, 需替换wordpress/wp-includes/script-header.php中所有的goog ...

  8. Postgresql的隐藏系统列

    转自 https://www.2cto.com/database/201206/137301.html   Postgresql的隐藏系统列   和oracle数据库一样,postgresql也有自身 ...

  9. CentOS 7.0下解决ifconfig: command not found的方法

    在CentOS7.0中输入ifconfig命令会遇到-bash: ifconfig: command not found. 在CentOS最小安装时是没有附带ifconfig,我们进入sbin目录下可 ...

  10. jQuery设置元素的readonly和disabled属性

    jQuery的api中提供了对元素应用disabled和readonly属性的方法,如下: 1.readonly    $('input').attr("readonly",&qu ...