[翻译] 初看 ASP.NET Core 3.0 即将到来的变化
[翻译] 初看 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 即将到来的变化的更多相关文章
- ASP.NET Core 3.0中使用动态控制器路由
原文:Dynamic controller routing in ASP.NET Core 3.0 作者:Filip W 译文:https://www.cnblogs.com/lwqlun/p/114 ...
- 探索ASP.Net Core 3.0系列六:ASP.NET Core 3.0新特性启动信息中的结构化日志
前言:在本文中,我将聊聊在ASP.NET Core 3.0中细小的变化——启动时记录消息的方式进行小的更改. 现在,ASP.NET Core不再将消息直接记录到控制台,而是正确使用了logging 基 ...
- ASP.NET Core 3.0 上的gRPC服务模板初体验(多图)
早就听说ASP.NET Core 3.0中引入了gRPC的服务模板,正好趁着家里电脑刚做了新系统,然后装了VS2019的功夫来体验一把.同时记录体验的过程.如果你也想按照本文的步骤体验的话,那你得先安 ...
- [翻译] ASP.NET Core 3.0 的新增功能
ASP.NET Core 3.0 的新增功能 全文翻译自微软官方文档英文版 What's new in ASP.NET Core 3.0 本文重点介绍了 ASP.NET Core 3.0 中最重要的更 ...
- 【翻译】asp.net core 3.0基本概念
这篇文章描述了开发asp.net core所需要掌握的基本概念. 原文地址:https://docs.microsoft.com/en-us/aspnet/core/fundamentals/?vie ...
- ASP.NET Core 1.0基础之日志
过年出去玩了一圈,回来继续翻译.前两天偷懒没有翻译,只是转了两篇C# 7计划中的新features,大家还是很支持的.现在继续完善这个系列. 来源https://docs.asp.net/en/lat ...
- ASP.NET Core 2.0 : 三. 项目结构
本章我们一起来对比着ASP.NET Framework版本看一下ASP.NET Core 2.0的项目结构.(此后的文章也尽量这样对比着, 方便学习理解.) 关注差异, 也为项目迁移做准备. 新建项目 ...
- 【翻译】介绍 ASP.NET Core 中的 Razor Pages
介绍 ASP.NET Core 中的 Razor Pages 原文地址:Introduction to Razor Pages in ASP.NET Core 译文地址:介绍 asp. ...
- 从ASP.NET Core 3.0 preview 特性,了解CLR的Garbage Collection
前言 在阅读这篇文章:Announcing Net Core 3 Preview3的时候,我看到了这样一个特性: Docker and cgroup memory Limits We conclude ...
随机推荐
- gif软件(ShareX)
介绍 官网:https://getsharex.com/ 开源,免费的一款软件,录制GIF功能简单,按下快捷键,选取指定的区域即可进行录制,录制完成后的文件默认存放在个人文件夹,整个过程几乎几打断你的 ...
- Node中的模块引入机制
1.如果模块在当前目录下,可以通过下面语句将模块引入进来,注意需要使用 "./"表示当前路径 const currency = require('./currency'); ←-- ...
- Vue学习之路7-v-on指令学习之简单事件绑定
前言 在JavaScript中任何一个DOM元素都有其自身存在的事件对象,事件对象代表事件的状态,比如事件在其中发生的元素.键盘按键的状态.鼠标的位置和鼠标按钮的状态等.事件通常与函数结合使用,函数不 ...
- js判断手机系统
var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > - ...
- [福大软工] Z班 第7次成绩排行榜
作业要求 http://www.cnblogs.com/easteast/p/7668887.html 评分细则 本次作业评分较为简单,只包含了两个方面的得分,一个是团队任务的计划(10'),一个是采 ...
- Teradata 批量查找PI字段
select * from dbc.indicesv where indextype in ('P','Q');
- (转)Spring Boot 2 (五):Docker Compose + Spring Boot + Nginx + Mysql 实践
http://www.ityouknow.com/springboot/2018/03/28/dockercompose-springboot-mysql-nginx.html 我知道大家这段时间看了 ...
- WPF触发器(非数据库中的触发器)
一.什么是触发器?触发器(Trigger)就是当某种条件满足后即完成相应逻辑功能的一部分程序组成.在当前的WPF中,Trigger一共有三种类型,它们分别是: (1)属性触发器:其对应的类是Trigg ...
- centos7下安装docker(15.1跨主机网络)
之前学习了单个host上的网络,我们知道单个host上的网络有:none,host,bridge和joined,他们解决了单个host上面的容器通信的问题:接下来我们讨论跨主机间容器通信的方案 跨主机 ...
- 发现电脑上装着liteide,就用golang做一个TCP通讯测试(支持先启动client端和断线重连)
1.参考https://www.cnblogs.com/yin5th/p/9274495.html server端 main.go package main import ( "fmt&qu ...