1. 程式人生 > >重磅!!!微軟發布ASP.NET Core 2.2,先睹為快。

重磅!!!微軟發布ASP.NET Core 2.2,先睹為快。

signalr 所有 prope 常見 b-s 系統 刪除 屬性 策略

我很高興地宣布ASP.NET Core 2.2現在作為.NET Core 2.2的一部分提供!

如何獲取?

您可以從.NET Core 2.2下載頁面下載適用於您的開發機器和構建服務器的新.NET Core SDK(2.2.100)。此頁面還提供了新的Windows Server托管,運行時安裝程序和二進制存檔,用於更新服務器。

此版本將.NET Core,ASP.NET Core和Entity Framework Core更新為2.2.0版。新的SDK版本是2.2.100。Visual Studio要求如下:

  • Visual Studio版本2017年15.9或更高版本
  • Visual Studio for Mac 7.7或更高版本
  • Visual Studio Code C#擴展版本1.17.1或更高版本

Visual Studio 2019 16.0 Preview 1(今天也可用)包含.NET Core SDK 2.2.100作為可選組件。

新特性

此ASP.NET Core版本的主旨是在構建Web / HTTP API方面提高開發人員的工作效率和平臺功能,詳情請參考:

  • 與流行的Open API(Swagger)庫更好地集成,包括使用代碼分析器進行設計時檢查
  • 引入端點路由,在MVC中提高了20%的路由性能
  • 使用LinkGenerator類改進URL生成並支持 路由參數變換器 (以及來自Scott Hanselman的帖子)
  • 用於應用程序運行狀況監視的New Health Checks API
  • 由於進程內托管支持,IIS上的吞吐量提高了400%
  • 高達15%的MVC模型驗證性能得到改善
  • 問題詳細信息(RFC 7807)支持MVC以獲取詳細的API錯誤結果
  • 在ASP.NET Core中預覽HTTP / 2服務器支持
  • Bootstrap 4和Angular 6的模板更新
  • ASP.NET Core SignalR的Java客戶端
  • Linux上的HTTP客戶端性能提高了60%,Windows上提高了20%

Health Checks集成到BeatPulse項目

我們很高興地宣布,BeatPulse項目現在支持新的Health Checks API,這意味著您可以使用他們,輕松添加對數十種流行系統和依賴項的檢查。以下是BeatPulse團隊關於他們對新的Health Checks API的支持的消息:

BeatPulse是一個社區驅動的項目,旨在為系統,網絡和企業中常見的各種服務提供健康檢查機制,例如SqlServer,MySql,Postgress,Redis,Kafka等等。當微軟宣布推出針對2.2路線圖的ASP.NET核心健康檢查時,BeatPulse團隊移植了所有現有的活動包和功能,以便在存儲庫AspNetCore.Diagnostics.HealthChecks中使用新的Microsoft Health Checks抽象。除了所有健康檢查包之外,BeatPulse團隊還結合了其他功能,如脈沖跟蹤(Application Insights和Prometheus),我們可以為故障通知和UI界面配置不同的監控系統,並具有一個可以查看健康狀態的全局概覽圖表。目前此UI的Docker鏡像已經發布到Docker Hub。

即將推出

當我們宣布規劃ASP.NET Core 2.2時,我們提到了許多上面沒有詳述的功能,包括使用IdentityServer4的API授權,Open API(Swagger)驅動的客戶端代碼生成以及HTTP REPL命令行工具。這些功能仍在進行中,尚未準備好發布,但我們希望在未來幾個月內將它們作為附加組件提供。

如何將項目遷移到ASP.NET Core 2.2

要將ASP.NET Core項目從2.1遷移到2.2,請打開項目的.csproj文件並將TargetFramework元素的值更改為netcoreapp2.2。如果您的目標是.NET Framework 4.x,則無需執行此操作。

通過更新NuGet包引用到最新的穩定版本來完成。請註意,針對.NET Core(而不是.NET Framework)的項目不應具有為Microsoft.AspNetCore.App程序包參考指定的程序包版本,因為這將由SDK自動管理。這樣做現在將導致構建警告。

有關升級到ASP.NET Core 2.2的更多信息,請參閱此處。

生命周期

ASP.NET Core 2.2是目前.NET Core系列中的最新版本。這是自2.1 LTS宣布重新建立單獨的LTS以來的首次發布,也是2.x生命周期中的最後一次非服務版本,包括一些新功能、增強功能和常規的錯誤修復,推薦大家使用。

請註意,LTS和當前版本都會收到安全性和關鍵穩定性修復的服務更新。

在此處閱讀有關.NET Core支持策略的更多信息。

Azure App Service中的可用性

.NET Core 2.2 SDK,運行時和更新的ASP.NET核心IIS模塊正在部署到全球的Azure App Service區域。我們預計這將在2018年12月底之前完成。

某些區域可能會在更新的ASP.NET核心IIS模塊(ANCM)之前收到更新的運行時,對於面向ASP.NET Core 2.2的項目,默認情況下這是必需的。這也是新的進程內托管功能的要求。如果在部署到Azure App Service後收到啟動錯誤,請嘗試通過將AspNetCoreModule屬性設置為值“AspNetCoreModule” 來配置項目以使用現有版本的ANCM ,例如:

<PropertyGroup>
    <TargetFramework>netcoreapp2.2</TargetFramework>
    <AspNetCoreModuleName>AspNetCoreModule</AspNetCoreModuleName>
    <AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
</PropertyGroup>

使用最新的ANCM版本更新目標區域後,您可以完全刪除該屬性並重新部署應用程序以使其切換到使用新的ANCM。

此版本還為Azure App Service中的.NET Core添加了更好的64位支持。如果您使用進程內托管在.NET Core 2.2上運行ASP.NET Core應用程序,則只需在Azure門戶中啟用64位選項,該站點現在將以64位進程運行。有關如何在Azure App Service中使用其他配置在64位進程中運行ASP.NET Core應用程序的其他信息,請參閱此文章。

如何反饋

請通過https://github.com/aspnet/AspNetCore記錄問題向我們提供反饋 。我們期待您的回音!

重磅!!!微軟發布ASP.NET Core 2.2,先睹為快。