日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

站在巨人肩上的.NET Core 2.1

發布時間:2023/12/4 asp.net 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 站在巨人肩上的.NET Core 2.1 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

.NET Core 1.0自發布兩年以來,得到了開發者群體相當高地認可。 下圖來自Stack overflow survey 2018的統計:

.NET Core已經成為前五的主流框架工具,現今借鑒了優秀的設計原則和開發體驗可謂站在巨人肩上。這一切歸功于.NET團隊認識和總結了大量過往的經驗教訓,看到了跨平臺的重要性。關于.NET Core的一些介紹:

Developing token authentication using ASP.NET Core

Implementing SOLID REST API using ASP.NET Core

Unit testing ASP.NET Core Identity

.NET Core還在快速迭代,每次更新都有一些特性的增強。下面介紹一些.NET Core 2.1和ASP.NET Core 2.1的新功能。

.NET Core 2.1

相較于重視基礎構建的.NET Core 2.0,.NET Core 2.1更像是一個面向反饋的版本。

Span?,?Memory介紹

.NET Core推出了一些高性能的新數組和內存類型,例如在?System.Memory.dll中的Span<T>和Memory<T>,.NET Standard 1.1可以在NuGet找到兼容的預覽版本。實際上Span<T>?和Memory<T>的想法來自于調用方的使用需要。這些新類型在框架體系中將非常實用。例如用在HttpClient中改進性能。更多的內容參見:All About Span: Exploring a New .NET Mainstay。

Windows 兼容包

The Windows兼容包將造福于那些想把基于.NET Framework的代碼遷移至.NET Core的開發者,為此新的框架增加了成噸的API接口(你可以從這里下載:https://www.nuget.org/packages/Microsoft.Windows.Compatibility)。例如其中一個檢測宿主操作系統類型的方法:RuntimeInformation.IsOSPlatform(OSPlatform.Windows),當需要根據不同平臺來運行不同依賴的代碼時非常有用。更有意思的還有API Analyzer,從NuGet包可以獲取到這個來自Roslyn的分析器,項目中引用后會自動提供API使用和警告的實時反饋,對于那些存在潛在兼容問題或失效的API將有不錯的體驗。

構建時的性能提升

下圖是.NET Core新老版構建時長的對比。可以看到較大的項目,其構建時長能節省一倍多,估計正式版本還會進一步優化。

ASP.NET Core 2.1

再看看2018年年中前后要發布的ASP.NET Core 2.1,改動將不限于Razor pages、SignalR、Webhooks、Security、Perfomance、MVC、Kestrel等。

HttpClientFactory

HttpClientFactory將為HttpClient內置一個依賴注入的實現,并提供了HttpClient實例化和管理的控制單元。HttpClientFactory還集成了Polly.NET。Polly擁有瞬時錯誤處理和恢復的類庫,支持開發者以便捷、線程安全的方式實現一系列策略,類似重試、中斷、超時、隔離和反饋等。HttpClientFactory有兩種不同的處理模型:NamedClient,?TypedClient

NamedClient

NamedClient是默認選項,它的AddHttpClient方法用來在客戶端處為服務或控制器定義了一個命名空間。

TypedClient

這是一種直接通過類型引用的方式,可以在調用類的內部將HttpClient注入到構造函數中,對于喜歡IoC的開發者來說值得推薦。

?

如你所見,它允許你使用注冊或注入客戶端兩種方式。

Kestrel: 基于libuv的Socket

當前Kestrel使用libuv作為底層實現,在Transport abstraction中將Kestrel的傳輸方式以抽象的方式解耦,順便提一下,出于性能考慮,微軟打算實現一個自定義的socket來替代libuv的異步IO,在Program.cs中以配置的形式獲得socket傳輸能力。?

HTTPS

如今HTTPS成了標配,像Chrome一類的瀏覽器, 在HTTP的Web應用背后都有安全策略,參見:Marking HTTP As Non-Secure。ASP.NET?Core 2.1將默認HTTPS,也就是說,即使在本地開發環境監聽http://localhost:5000,,Kestrel也將要求一個證書而監聽https://localhost:5001,.NET Core SDK會在安裝時默認會生成一個適當的證書。

綜述

一句話總結,新的.NET Core 2.1版本提供了大量的實用提升,正如開頭所說,這些和.NET開發者們積極地建議和反饋密不可分。更有一些新的東西加入,比如在不同適配器下的Web hookst和改頭換面的SignalR。

更多高階的研發計劃和相關功能、問題信息參見:Announcements/issues/288.

或者你還想看看這些:

.NET Core 2.1 roadmap?
ASP.NET Core 2.1 roadmap?
All About Span: Exploring a New .NET Mainstay?
.NET 2.1 Roadmap Pt.1 - Channel9

?

(原文:.NET Core 2.1 highlights: standing on the shoulders of giants)

原文地址?http://www.cnblogs.com/BeanHsiang/p/8687787.html


.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com

總結

以上是生活随笔為你收集整理的站在巨人肩上的.NET Core 2.1的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。