【連結很多】.NET 7 的 ASP.NET Core 路線圖

【連結很多】.NET 7 的 ASP.NET Core 路線圖

我們計劃在 .NET 7 版本中添加到伺服器的一些功能亮點

最後更新 2022/2/19 下午6:05
追逐时光者
預計閱讀 7 分鐘
分類
ASP.NET Core
標籤
.NET C# ASP.NET Core

文章來源:https://github.com/dotnet/aspnetcore/issues/39504

轉載自知乎:https://zhuanlan.zhihu.com/p/469359820

每個列表就是一個連結,大家看個大概,感興趣的點擊上面的原文或者網站同步文章連結,公眾號就不貼連結了,貼了也點擊不了...

ASP.NET Core 執行階段

伺服器 - 功能

以下是我們計劃在 .NET 7 版本中新增到伺服器的一些功能亮點:

  • 新增對輸出快取的支援 #27387
  • 使用 Kestrel+YARP 共用連接埠 #39640
  • 用於 ARM64 的 ANCM #39281
  • Kestrel 透過 HTTP/2 支援 WebSockets #7801
  • OCSP 裝訂支援 Kestrel #4762
  • Kestrel 的速率限制 - 將背壓應用於接受連線的設計機制 #13295
  • [主題] 支援將 .NET Framework 應用程式遷移到 .NET Core #40078

伺服器 - 效能

.NET 6 是伺服器效能的一個重要版本,我們希望在 .NET 7 中進一步改進,如下所示:

  • 連線效能改進 #39846
  • 允許伺服器記憶體池收縮 #27394
  • 為 HTTP.sys 伺服器啟用核心回應緩衝 #14455
  • 使用 Channels #30235 提高 HTTP/2 效能

HTTP/3 支援

HTTP/3 支援作為 .NET 6 中的預覽功能提供。對於 .NET 7,我們希望完成它並使其成為受支援的功能。

  • HTTP/3:UseHttps 配置 #34858
  • 實作 Http3 靜態回應頭壓縮 #33980
  • 對 HTTP/3 的動態表支援 #28433
  • HTTP/3:刪除非最終 h3 ALPN #35032
  • HTTP/3:在 .NET 7 中預設啟用 Kestrel #36486

ASP.NET Web 框架

Minimal APIs

  • 透過分組 #36007 改進最小 API 路由
  • 新增對端點篩選器的支援 #37853
  • [史詩] .NET 7 中的 OpenAPI #37098
  • 擴展為 Minimal API 自訂參數繫結的能力 #35489
  • 向最小端點新增防偽 (anti-csrf) 支援 #38630
  • 為各個端點/操作產生安全方案 #39761
  • 支援繫結請求體為 Stream/ReadOnlySequence<byte> 或 ReadOnlyMemory<byte>/ReadOnlySpan<byte> #38153
  • 考慮更好的 API 來配置 JsonOptions 以實現最少的操作/路由到程式碼 #39226
  • 使 IResult 方法更具可測試性 #37502
  • Minimal API 不支援從查詢或標頭繫結到 StringValues #36726
  • 最小操作 - 來自查詢字串繫結的方法簽名中的陣列支援 #32516
  • ProblemDetails 的使用在整個 ASP.NET Core #32957 中不一致
  • 為授權配置最少的 API 應該非常簡單且特色 #34545
  • 最小 API 的設計驗證 #30666
  • [Epic]:Minimal APIs + MVC #36637 分析器(改善開發者體驗)

SignalR

  • 支援從用戶端呼叫返回值 #5280
  • 重新整理 SignalR 的驗證權杖 #5297
  • [Epic] SignalR 應該有一個 C++ 用戶端 #5301(改進現有的 C++ 用戶端)

Rate Limiting

  • 完成非通用速率限制器的實作(固定視窗、滑動視窗、令牌桶、並發限制器) #37381
  • 設計通用速率限制 API #37383
  • 在 aspnetcore 中實作速率限制中介軟體 #37384
  • 重新設計目前的 aspnetcore 並發限制器中介軟體以使用新的抽象和實作 #38306
  • Yarp 實作的速率限制 #37387
  • Kestrel 的速率限制 - 將背壓應用於接受連線的設計機制 #13295
  • 將速率限制抽象/API 移動到 dotnet/runtime #37385

gRPC (dotnet-gRPC)

  • [EPIC] gRPC JSON 轉碼 grpc/grpc-dotnet#1583 (gRPC/HTTP)

Orleans

  • 實作 POCO Grains orleans#7351
  • 穀物持久性的可配置序列化程式 orleans#7471
  • 刪除 SMS 提供者 orleans#7475
  • 實作無狀態服務抽象 orleans#7469
  • [史詩]:在 Orleans 中將工作流實作為原語 orleans#7487
  • [史詩]:改善 Orleans 客戶部署到 Azure orleans#7486 的體驗
  • 簡化流配置抽象 orleans#7473
  • 為 aspnetcore orleans#7479 新增 Orleans 範本

ASP.NET Web UI

Blazor Hybrid

  • 帶有 maui 的 Blazor 無法使用 <InputSelect> 或 <select> maui#4325
  • Blazor 桌面原則:全球準備 maui#2532
  • Blazor Desktop 測試基礎架構和計劃 maui#2543
  • 支援開啟外部 URL 的可配置性 maui#4338
  • MAUI Blazor 應用程式上的熱重載不起作用。 maui#2527
  • Blazor 桌面:支援 auth maui#2529
  • Blazor 桌面原則:安全 maui#2540
  • Blazor 桌面原則:效能 maui#2531
  • Blazor 桌面原則:可訪問性 maui#2541
  • Blazor 桌面原則:DPI 意識 maui#2549
  • Blazor 桌面開發工具啟用 maui#2542
  • 文件:Blazor 混合演練/入門 maui#3684
  • Blazor 混合專案範本更新 maui#4127
  • [Blazor webview] blazor webview maui#4441 的例外處理

Razor Compiler

  • 當型別具有附加約束時,泛型 Blazor 組件無法正確推斷其型別 #25588
  • 更新 Razor 編譯器以更自由地使用 global:: #18757
  • 透過內部遙測報告的編譯器崩潰問題 #38877
  • 透過內部遙測報告的編譯器崩潰問題 #38878
  • 透過內部遙測報告的編譯器崩潰問題 #38879
  • Blazor CascadingTypeParameter 問題 #38479
  • 為 5.0 應用新增 SDK 快照測試 #28489
  • 在程式碼區塊上方有一個未閉合的表單會使所有內容變為藍色 #27133
  • 遠離 Razor 在設計時/執行時生成不同的程式碼。 #30669
  • Razor 編輯器抱怨標籤未關閉 #30573
  • 在 Razor 語法樹中定位擁有者可能會失敗 #36689

Blazor

  • 能夠在同一文件中執行多個 Blazor 伺服器/Web 組件應用程式 #38128
  • 為 NavigationManger 公開位置變更事件 #14962
  • 呼叫 InvokeAsync(StateHasChanged) 會導致頁面回退到預設文化特性 #28521
  • 執行清理 Web 範本的過程 #30162
  • 空 Blazor 專案範本 #32832
  • 考慮運送 ObjectGraphDataAnnotationsValidator / ValidateComplexTypeAttribute #28640
  • 產品化自訂元素支援套件 #38447
  • 改進 Blazor 中的預呈現和驗證體驗 #27592
  • 暫停和恢復 Blazor 應用程式 #27576
  • Blazor 用於顯示無法透過 HTTP 端點存取的影像的影像元素 #25274
  • 設計方案:繫結 get/set/after 修飾詞 #39837
  • 用於解決 Blazor 伺服器上的短暫一次性用品的設計 #26676
  • Blazor 暫停和恢復伺服器端 Blazor 電路 #30344
  • 處理大型二進位資料(檔案和媒體)的特定組件 #30290
  • 啟用與第三方資產管理解決方案的整合 #38445
  • 組件在熱重載更新期間不會重置其接收到的參數 #31272
  • 為模型繫結和路由新增 DateOnly 和 TimeOnly 支援 #34591
  • 對其他方案更好的 MSAL 支援 #38122
  • 如何使用 IHttpClientFactory #25758 在 Blazor Server 中配置 HttpClient 基底位址
  • 對電路壽命的更多控制(監視電路活動並從用戶端/伺服器終止的能力) #30287
  • 伺服器端 Blazor:為 Circuit Eviction #17866 提供 API/擴展點
  • 真正的多執行緒(在支援的瀏覽器上) #17730
  • 針對 browser-wasm 的開發人員可以使用 Web Crypto APIs runtime#40074
  • 繼續改進 Mono 方法體替換 runtime#57365

MVC

  • EndpointRouting #23041 中的 IRouter.GetVirtualPath 替代方案
  • 允許匹配路由而不捕獲參數 #27996
  • 十進位欄位的本地化數字格式和錯誤的輸入類型 #6566
  • 連結生成改進 #38121
  • LinkTagHelper 不應使用內嵌指令碼 #14736
  • 新增對 FromServices 出現在 DI #39667 中的型別的隱式推斷的支援
  • 推斷 FromBody.AllowEmptyBehavior = Allow 基於可空性資訊 #39754
  • 考慮新增對 TryParse 作為繫結原語的方式的支援 #39682
  • EmptyBodyBehavior.Allow 應該允許缺少 Content-Type #36466
  • SkipStatusCodePagesAttribute 應該在 AuthorizeAttribute #10317 之前執行
  • ApiExplorer 未正確處理同一操作方法上的多個路由 #26234
  • FromServices 根據可空性資訊推斷可選性 #39757
  • Razor Pages ComplexTypeModelBinder 無法處理「或者,在 'YModel' 建構函式中將 'X' 屬性設定為非空值」 #21916 的建議
繼續探索

延伸閱讀

更多文章