W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
已針對 ASP.NET Core 2.1 重新編寫 SignalR。 ASP.NET Core SignalR 包含大量改進:
有關詳細信息,請參閱 ASP.NET Core SignalR。
通過 ASP.NET Core 2.1 可以更容易地在庫中生成和包括基于 Razor 的 UI,并跨多個項目共享 UI。 新 Razor SDK 支持將 Razor 文件生成到可打包為 NuGet 包的類庫項目中。 應用可以自動發(fā)現(xiàn)和覆蓋庫中的視圖和頁面。 通過將 Razor 編譯集成到生成中:
有關詳細信息,請參閱使用 Razor 類庫項目創(chuàng)建可重用 UI。
ASP.NET Core 2.1 提供 ASP.NET Core 標識作為 Razor 類庫。 包含標識的應用可以應用新的標識基架,以便有選擇地添加標識 Razor 類庫 (RCL) 中包含的源代碼。 建議生成源代碼,以便修改代碼和更改行為。 例如,可以指示基架生成在注冊過程中使用的代碼。 生成的代碼優(yōu)先于標識 RCL 中的相同代碼。
不包含身份驗證的應用可以應用標識基架以添加 RCL 標識包。 可以選擇要生成的標識代碼。
有關詳細信息,請參閱 ASP.NET Core 項目中的基架標識。
隨著對安全和隱私的關注度日益增加,為 Web 應用啟用 HTTPS 變得非常重要。 Web 上正在越來越嚴格要求強制使用 HTTPS。 不使用 HTTPS 的站點會被視為不安全的站點。 瀏覽器(Chromium、Mozilla)開始強制要求必須在安全的上下文中使用 Web 功能。 GDPR 要求使用 HTTPS 保護用戶隱私。 不僅在生產環(huán)境中使用 HTTPS 至關重要,而且在開發(fā)環(huán)境中使用 HTTPS 還可以幫助防止部署中的各種問題(例如,不安全的鏈接)。 ASP.NET Core 2.1 包含大量改進,更方便在開發(fā)環(huán)境使用 HTTPS 和在生產環(huán)境配置 HTTPS。 有關詳細信息,請參閱強制使用 HTTPS。
為了提高網站開發(fā)的安全性,現(xiàn)在默認啟用 HTTPS。 從 2.1 開始,當本地具有開發(fā)證書時,Kestrel 將偵聽 https://localhost:5001。 關于開發(fā)證書的創(chuàng)建:
運行 dotnet dev-certs https --trust 以信任證書。
Web 應用通常需要偵聽 HTTP 和 HTTPS,但隨后會將所有 HTTP 流量重定向到 HTTPS。 在 2.1 中,引入了專用的 HTTPS 重定向中間件,可根據配置或綁定服務器端口的存在智能執(zhí)行重定向。
使用 HTTP 嚴格傳輸安全協(xié)議 (HSTS) 可進一步強制使用 HTTPS。 HSTS 指示瀏覽器始終通過 HTTPS 訪問站點。 ASP.NET Core 2.1 添加 HSTS 中間件,該中間件支持選擇最大年限、子域和 HSTS 預加載列表。
在生產環(huán)境中,必須顯式配置 HTTPS。 在 2.1 中,添加了針對 Kestrel 配置 HTTPS 的默認配置架構??梢詫门渲脼槭褂茫?/p>
ASP.NET Core 提供 API 和模板,幫助滿足歐盟一般數據保護條例 (GDPR) 的部分要求。 有關詳細信息,請參閱 ASP.NET Core 中的 GDPR 支持。 示例應用演示如何使用并允許測試已添加到 ASP.NET Core 2.1 模板中的大多數 GDPR 擴展點和 API。
引入了可簡化創(chuàng)建和執(zhí)行測試的新包。 Microsoft.AspNetCore.Mvc.Testing 包可處理以下任務:
以下測試使用 xUnit 檢查索引頁是否加載了成功狀態(tài)代碼和正確的 Content-Type 標頭:
C#
public class BasicTests
: IClassFixture<WebApplicationFactory<RazorPagesProject.Startup>>
{
private readonly HttpClient _client;
public BasicTests(WebApplicationFactory<RazorPagesProject.Startup> factory)
{
_client = factory.CreateClient();
}
[Fact]
public async Task GetHomePage()
{
// Act
var response = await _client.GetAsync("/");
// Assert
response.EnsureSuccessStatusCode(); // Status Code 200-299
Assert.Equal("text/html; charset=utf-8",
response.Content.Headers.ContentType.ToString());
}
}
有關詳細信息,請參閱集成測試主題。
ASP.NET Core 2.1 添加了新編程約定,方便構建簡潔的說明性 Web API。 ActionResult<T> 是一個新增類型,可允許應用返回響應類型,或返回任何其他操作結果(與 IActionResult 相似),同時仍然指示響應類型。 此外還添加了 [ApiController] 特性,作為選擇加入特定于 Web API 的約定和行為的方式。
有關詳細信息,請參閱使用 ASP.NET Core 構建 Web API。
ASP.NET Core 2.1 引入了新的 IHttpClientFactory 服務,方便在應用中配置和使用 HttpClient 的實例。 HttpClient 已經具有委托處理程序的概念,這些委托處理程序可以鏈接在一起,處理出站 HTTP 請求。 工廠可以:
有關詳細信息,請參閱啟動 HTTP 請求。
對于 ASP.NET Core 2.1 版,Kestrel 默認傳輸不再基于 Libuv,而是基于托管的套接字。 有關詳細信息,請參閱 Kestrel Web 服務器實現(xiàn):傳輸配置。
引入了通用主機生成器 (HostBuilder)。 此生成器可用于不處理 HTTP 請求(消息傳送、后臺任務等等)的應用。
有關詳細信息,請參閱 .NET 通用主機。
更新了適用于 Angular、React 和 React 結合 Redux 的單頁應用程序模板,以使用標準項目結構和為每個框架構建系統(tǒng)。
Angular 模板基于 Angular CLI,而 React 模板基于 create-react-app。
有關詳細信息,請參見:
在 2.1 中,Razor Pages 按所列順序搜索以下目錄中的 Razor 資產(例如布局和分區(qū)):
Razor Pages 現(xiàn)在支持區(qū)域。 要查看區(qū)域示例,請使用個人用戶帳戶創(chuàng)建新 Razor Pages Web 應用。使用個人用戶帳戶的 Razor Pages Web 應用包括 /Areas/Identity/Pages。
SetCompatibilityVersion 方法允許應用選擇加入或退出 ASP.NET Core MVC 2.1 或更高版本中引入的潛在中斷行為變更。
有關更多信息,請參見ASP.NET Core MVC 的兼容性版本。
請參閱從 ASP.NET Core 2.0 遷移到 2.1。
要獲取完整的更改列表,請參閱 ASP.NET Core 2.1 發(fā)行說明。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: