[翻译] 初看 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. (转载)解决NVIDIA显卡驱动“没有找到兼容的图形硬件”的问题

    (转载)解决NVIDIA显卡驱动“没有找到兼容的图形硬件”的问题 原出处:http://www.cnblogs.com/longdouhzt/archive/2012/02/28/2370660.ht ...

  2. HDU 1722 Cake (数论 gcd)(Java版)

    Big Number 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1722 ——每天在线,欢迎留言谈论. 题目大意: 给你两个数 n1,n2 . 然后 ...

  3. TURN Server Windows 安装程序

    有了OfficeSIP TURN Server 安装包,记录一下. http://www.onlinedown.net/soft/94746.htm 开源代码(C#)和应用地址:https://sou ...

  4. The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction

    今天遇到一起关于分布式事务错误的案例,如下所示,执行SQL脚本时报错, 错误信息具体如下所示: [OLE/DB provider returned message: 新事务不能登记到指定的事务处理器中 ...

  5. 预热一下吧《实现Redis消息队列》

    应用场景 为什么要用redis?二进制存储.java序列化传输.IO连接数高.连接频繁 一.序列化 这里编写了一个java序列化的工具,主要是将对象转化为byte数组,和根据byte数组反序列化成ja ...

  6. Oracle的实例恢复解析

    在数据库服务器异常断电重启后,数据库会进行实例恢复,那么实例恢复的过程中Oracle做了什么操作呢?参考官网在这里做一下解释,菜鸟水平有限,欢迎勘正. 首先说下实例恢复的定义: Instance re ...

  7. Python:字符串格式化

    Python中提供了多种格式化字符串的方式,遇到一个项目,在一个文件中,就用了至少两种方式.特别是在使用Log时,更让人迷惑. 因此特地花时间来了解一下Python中字符串格式化的几种方式: # -* ...

  8. php 计算出一年中每周的周一日期

    最近接到一个任务,归纳起来,就是:要算出每年当中,每周的周一日期.想了一会,看了下date函数,深入了解了一下date函数各个参数的含义之后,终于把这道题做出来了! 在date()函数中,有一个参数对 ...

  9. LeetCode算法题-Ugly Number(Java实现-四种解法)

    这是悦乐书的第199次更新,第208篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第64题(顺位题号是263).编写一个程序来检查给定的数字是否是一个丑陋的数字.丑陋的数 ...

  10. LeetCode算法题-Path Sum(Java实现)

    这是悦乐书的第169次更新,第171篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第28题(顺位题号是112).给定二叉树和整数sum,确定树是否具有根到叶路径,使得沿路 ...