.NET Core 2.2發佈一覽

来源:https://www.cnblogs.com/kenwoo/archive/2018/12/08/10087581.html
-Advertisement-
Play Games

本周終於發佈了.NET Core 2.2,ASP.NET Core 2.2以及Entity Framework Core 2.2,雖然更大的新聞可能是.NET Core 3.0的特性公佈,但不妨先將現有的.NET Core版本升級到2.2,及時體驗一下新的功能。 .NET Core 2.2 分層編譯 ...


本周終於發佈了.NET Core 2.2,ASP.NET Core 2.2以及Entity Framework Core 2.2,雖然更大的新聞可能是.NET Core 3.0的特性公佈,但不妨先將現有的.NET Core版本升級到2.2,及時體驗一下新的功能。

.NET Core 2.2

分層編譯

分層編譯特性使得運行時可以更靈活地使用JIT編譯器,從而提升在啟動方面和最大化吞吐量上的性能。該特性在.NET Core 2.1時已作為可選特性加入其中,在.NET Core 2.2的預覽版本中被預設使用,而到了最終發佈階段,還是改回了可選特性。.NET Core 3.0之後或許會成為預設選項吧。

運行時事件

為了獲悉在運行應用程式時服務的工作情況,需要監測在當前進程中的諸如垃圾回收,JIT和線程池等運行時服務。在Windows系統中,一般ETW(Event Tracing for Windows) 的監測功能就可以滿足此要求。但在.NET Core 2.2之前,ETW的執行效果並不令人如意。
現在, 通過EventListener類可以使用CoreCLR事件。這些事件描述了垃圾回收,JIT,線程池和interop的行為。它們在Windows上作為CoreCLR ETW provider的一部分對外公開。這將允許應用程式可以使用這些事件,又或者使用傳輸機制發送給其它監測服務。

在SqlConnection中提供對AccessToken的支持

SQL Server的ADO.NET provider,SqlClient,現在支持通過設置AccessToken屬性以認證使用Azure Active Directory的SQL Server連接。該屬性包含在Microsoft.IdentityModel.Clients.ActiveDirectory類庫里。

在Main方法之前插入代碼

現在通過Startup Hook可以在運行應用程式的Main方法之前插入特定的代碼。對於已經發佈的應用程式,不用重新編譯或者改變程式,Startup Hook能夠定製所需的行為。

Windows ARM32

與.NET Core 2.1中對Linux ARM32支持相似的,在.NET Core 2.2裡加入了對Windows ARM32的支持。但在發佈時遇到了較嚴重的bug,所以可能在之後的版本中,比如2019年1月即將發佈的.NET Core 2.1.1中會真正附加此特性。

平臺支持

NET Core 2.2支持下列操作系統:

  • Windows Client: 7, 8.1, 10 (1607+)
  • Windows Server: 2008 R2 SP1+
  • macOS: 10.12+
  • RHEL: 6+
  • Fedora: 26+
  • Ubuntu: 16.04+
  • Debian: 9+
  • SLES: 12+
  • openSUSE: 42.3+

晶元支持包括:

  • x64 on Windows, macOS, and Linux
  • x86 on Windows
  • ARM32 on Linux (Ubuntu 16.04+, Debian 9+)
  • ARM32 on Windows (1809+; available in January)

ASP.NET Core 2.2

這次的更新主要是為了提高開發者的生產力以及增強創建Web/HTTP API的功能。同時,也在性能方面有所改善。這些更新包含以下幾點:

  • 與Swagger類庫更好地集成,代碼分析提供了設計時檢查。
  • 引入終端路由,提升了MVC中20%的路由性能
  • 改進LinkGenerator的URL生成,支持路由參數轉換
  • 加入了對於應用程式的健康進行監測新API(此功能來源自和BeatPulse項目的集成)
  • 由於進程內托管的支持,在IIS上提升了400%的吞吐量
  • 提升了15%的MVC模型驗證性能
  • 在MVC中加入了對問題明細(Problem Details)(RFC 7807)的支持
  • 在ASP.NET Core中可以預覽對HTTP/2 server的支持
  • 對於Bootstrap 4與Angular 6模板的升級
  • 提供了ASP.NET Core SignalR的Java客戶端
  • 在Linux上提升了60%的HTTP客戶端性能,同時在Windows上提升了20%

Entity Framework Core 2.2

支持空間數據

空間數據可以用於表示物理距離和目標形狀。在EF Core 2.2中藉助NetTopologySuite類庫的幫助對空間數據提供了支持。當前已支持的資料庫包括SQL Server,SQlite和PostgreSQL。

所有型實體(owned entity)集合

所有型實體中僅可以出現其它實體類型的導航屬性。
EF Core 2.0中新加了一對一關聯的所有型實體,而在EF Core 2.2中則進一步地擴展到了一對多的關聯。

查詢標簽

該特性簡化了代碼中Linq語句與日誌中生成的SQL語句之間的關聯。

加上標簽的方法是TagWith。

  var nearestFriends =
      (from f in context.Friends.TagWith(@"This is my spatial query!")
      orderby f.Location.Distance(myLocation) descending
      select f).Take(5).ToList();

最後生成的SQL語句中包含了Linq代碼中附加的標簽。

-- This is my spatial query!

SELECT TOP(@__p_1) [f].[Name], [f].[Location]
FROM [Friends] AS [f]
ORDER BY [f].[Location].STDistance(@__myLocation_0) DESC

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • getClass()方法屬於Object的一部分,它將產生對象的類,並且在列印該類時,可以看到該類類型的編碼字元串,前導"["表示這是一個後滿緊隨的類型的數組,而緊隨的"I"表示基本類型int, ...
  • 對於每種編程語言一般都會規定一些容器來保存某些數據,就像java的集合和數組一樣python也同樣有這樣的結構 而對於python他有四個這樣的內置容器來存儲數據,他們都是python語言的一部分可以直接使用而無需額外的導入 一.列表 列表一種跟java和c中的數據很像的一種數據結構,他都是保存一系 ...
  • 定義二維數組 可以不指定列數 + 獲取行 如果使用第一個例子,這裡就是返回4 + 獲取列 使用第一個例子,這裡就是返回5 + 定義一個對象數組 Book[] books = new Book[50]; 這裡的Book是個實體類,之後的用法與一維數組的用法是一樣的 ...
  • 一. MVC作用 一. SpringMVC 是一個輕量級的,基於請求響應的框架 一. 為什麼使用springMVC a) 性能較struts2好,struts2效率高(包含ActionContext) b) 簡單便捷,易學 c) 天生和spring無縫集成(主要銜接springIOC,AOP) d) ...
  • 網上普遍使用的化學方程式的格式普遍如下 例: KMnO4+FeSO4+H2SO4=Fe2(SO4)3+MnSO4+K2SO4+H2O 要把化學方程式格式化,單單一個正則表達式是非常反人類的,故可選用 C++ 實現化學方程式的格式化。 首先,寫一個 for 迴圈,傳入字元數組 input[] ,依次地 ...
  • 正式開始 首先我在這介紹兩個新的小知識,要在下麵用到。一個是函數 id() ,另一個是運算符 is。id() 函數就是返回對象的記憶體地址;is 是比較兩個變數的對象引用是否指向同一個對象,在這裡請不要和 == 混了,== 是比較兩個變數的值是否相等。 copy 這個詞有兩種叫法,一種是根據它的發音音 ...
  • 這裡主要介紹ANSI C的特性:當執行算術運算時,操作數的類型如果不同,就會發生轉換。數據類型一般朝著精度更高、長度更長的方向轉換,整型數如果轉換為signed不會丟失信息,就轉換為signed,否則轉換為unsigned。 一、算術轉換(K&R C) 首先: 任何類型為char或short的操作數 ...
  • using System; namespace ConsoleApp1 { interface IInterface1 { void ft(); } interface IInterface2 { void ft(); } class MyClass : IInterface1, IInterfa.... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...