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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

站在巨人肩上的.NET Core 2.1

發(fā)布時(shí)間:2023/12/4 asp.net 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 站在巨人肩上的.NET Core 2.1 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

.NET Core 1.0自發(fā)布兩年以來,得到了開發(fā)者群體相當(dāng)高地認(rèn)可。 下圖來自Stack overflow survey 2018的統(tǒng)計(jì):

.NET Core已經(jīng)成為前五的主流框架工具,現(xiàn)今借鑒了優(yōu)秀的設(shè)計(jì)原則和開發(fā)體驗(yàn)可謂站在巨人肩上。這一切歸功于.NET團(tuán)隊(duì)認(rèn)識(shí)和總結(jié)了大量過往的經(jīng)驗(yàn)教訓(xùn),看到了跨平臺(tái)的重要性。關(guān)于.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還在快速迭代,每次更新都有一些特性的增強(qiáng)。下面介紹一些.NET Core 2.1和ASP.NET Core 2.1的新功能。

.NET Core 2.1

相較于重視基礎(chǔ)構(gòu)建的.NET Core 2.0,.NET Core 2.1更像是一個(gè)面向反饋的版本。

Span?,?Memory介紹

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

Windows 兼容包

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

構(gòu)建時(shí)的性能提升

下圖是.NET Core新老版構(gòu)建時(shí)長(zhǎng)的對(duì)比。可以看到較大的項(xiàng)目,其構(gòu)建時(shí)長(zhǎng)能節(jié)省一倍多,估計(jì)正式版本還會(huì)進(jìn)一步優(yōu)化。

ASP.NET Core 2.1

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

HttpClientFactory

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

NamedClient

NamedClient是默認(rèn)選項(xiàng),它的AddHttpClient方法用來在客戶端處為服務(wù)或控制器定義了一個(gè)命名空間。

TypedClient

這是一種直接通過類型引用的方式,可以在調(diào)用類的內(nèi)部將HttpClient注入到構(gòu)造函數(shù)中,對(duì)于喜歡IoC的開發(fā)者來說值得推薦。

?

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

Kestrel: 基于libuv的Socket

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

HTTPS

如今HTTPS成了標(biāo)配,像Chrome一類的瀏覽器, 在HTTP的Web應(yīng)用背后都有安全策略,參見:Marking HTTP As Non-Secure。ASP.NET?Core 2.1將默認(rèn)HTTPS,也就是說,即使在本地開發(fā)環(huán)境監(jiān)聽http://localhost:5000,,Kestrel也將要求一個(gè)證書而監(jiān)聽https://localhost:5001,.NET Core SDK會(huì)在安裝時(shí)默認(rèn)會(huì)生成一個(gè)適當(dāng)?shù)淖C書。

綜述

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

更多高階的研發(fā)計(jì)劃和相關(guān)功能、問題信息參見: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社區(qū)新聞,深度好文,歡迎訪問公眾號(hào)文章匯總 http://www.csharpkit.com

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。