99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

ASP.NET Core 2.1 的新增功能

2019-04-17 08:56 更新

SignalR

已針對(duì) ASP.NET Core 2.1 重新編寫(xiě) SignalR。 ASP.NET Core SignalR 包含大量改進(jìn):

  • 簡(jiǎn)化橫向擴(kuò)展模型。
  • 新 JavaScript 客戶(hù)端不具有 jQuery 依賴(lài)項(xiàng)。
  • 新緊湊型二進(jìn)制協(xié)議基于 MessagePack。
  • 支持自定義協(xié)議。
  • 新的流式處理響應(yīng)模型。
  • 支持基于裸機(jī) WebSocket 的客戶(hù)端。

有關(guān)詳細(xì)信息,請(qǐng)參閱 ASP.NET Core SignalR。

Razor 類(lèi)庫(kù)

通過(guò) ASP.NET Core 2.1 可以更容易地在庫(kù)中生成和包括基于 Razor 的 UI,并跨多個(gè)項(xiàng)目共享 UI。 新 Razor SDK 支持將 Razor 文件生成到可打包為 NuGet 包的類(lèi)庫(kù)項(xiàng)目中。 應(yīng)用可以自動(dòng)發(fā)現(xiàn)和覆蓋庫(kù)中的視圖和頁(yè)面。 通過(guò)將 Razor 編譯集成到生成中:

  • 應(yīng)用啟動(dòng)時(shí)間可顯著加快。
  • 在迭代開(kāi)發(fā)工作流過(guò)程中,仍可在運(yùn)行時(shí)快速更新 Razor 視圖和頁(yè)面。

有關(guān)詳細(xì)信息,請(qǐng)參閱使用 Razor 類(lèi)庫(kù)項(xiàng)目創(chuàng)建可重用 UI。

標(biāo)識(shí) UI 庫(kù)和基架

ASP.NET Core 2.1 提供 ASP.NET Core 標(biāo)識(shí)作為 Razor 類(lèi)庫(kù)。 包含標(biāo)識(shí)的應(yīng)用可以應(yīng)用新的標(biāo)識(shí)基架,以便有選擇地添加標(biāo)識(shí) Razor 類(lèi)庫(kù) (RCL) 中包含的源代碼。 建議生成源代碼,以便修改代碼和更改行為。 例如,可以指示基架生成在注冊(cè)過(guò)程中使用的代碼。 生成的代碼優(yōu)先于標(biāo)識(shí) RCL 中的相同代碼。

不包含身份驗(yàn)證的應(yīng)用可以應(yīng)用標(biāo)識(shí)基架以添加 RCL 標(biāo)識(shí)包。 可以選擇要生成的標(biāo)識(shí)代碼。

有關(guān)詳細(xì)信息,請(qǐng)參閱 ASP.NET Core 項(xiàng)目中的基架標(biāo)識(shí)。

HTTPS

隨著對(duì)安全和隱私的關(guān)注度日益增加,為 Web 應(yīng)用啟用 HTTPS 變得非常重要。 Web 上正在越來(lái)越嚴(yán)格要求強(qiáng)制使用 HTTPS。 不使用 HTTPS 的站點(diǎn)會(huì)被視為不安全的站點(diǎn)。 瀏覽器(Chromium、Mozilla)開(kāi)始強(qiáng)制要求必須在安全的上下文中使用 Web 功能。 GDPR 要求使用 HTTPS 保護(hù)用戶(hù)隱私。 不僅在生產(chǎn)環(huán)境中使用 HTTPS 至關(guān)重要,而且在開(kāi)發(fā)環(huán)境中使用 HTTPS 還可以幫助防止部署中的各種問(wèn)題(例如,不安全的鏈接)。 ASP.NET Core 2.1 包含大量改進(jìn),更方便在開(kāi)發(fā)環(huán)境使用 HTTPS 和在生產(chǎn)環(huán)境配置 HTTPS。 有關(guān)詳細(xì)信息,請(qǐng)參閱強(qiáng)制使用 HTTPS

默認(rèn)開(kāi)啟

為了提高網(wǎng)站開(kāi)發(fā)的安全性,現(xiàn)在默認(rèn)啟用 HTTPS。 從 2.1 開(kāi)始,當(dāng)本地具有開(kāi)發(fā)證書(shū)時(shí),Kestrel 將偵聽(tīng) https://localhost:5001。 關(guān)于開(kāi)發(fā)證書(shū)的創(chuàng)建:

  • 首次使用 SDK 時(shí),在首次運(yùn)行 .NET Core SDK 時(shí)會(huì)創(chuàng)建開(kāi)發(fā)證書(shū)。
  • 手動(dòng)使用新 dev-certs 工具。

運(yùn)行 dotnet dev-certs https --trust 以信任證書(shū)。

HTTPS 重定向和強(qiáng)制使用

Web 應(yīng)用通常需要偵聽(tīng) HTTP 和 HTTPS,但隨后會(huì)將所有 HTTP 流量重定向到 HTTPS。 在 2.1 中,引入了專(zhuān)用的 HTTPS 重定向中間件,可根據(jù)配置或綁定服務(wù)器端口的存在智能執(zhí)行重定向。

使用 HTTP 嚴(yán)格傳輸安全協(xié)議 (HSTS) 可進(jìn)一步強(qiáng)制使用 HTTPS。 HSTS 指示瀏覽器始終通過(guò) HTTPS 訪問(wèn)站點(diǎn)。 ASP.NET Core 2.1 添加 HSTS 中間件,該中間件支持選擇最大年限、子域和 HSTS 預(yù)加載列表。

適用于生產(chǎn)環(huán)境的配置

在生產(chǎn)環(huán)境中,必須顯式配置 HTTPS。 在 2.1 中,添加了針對(duì) Kestrel 配置 HTTPS 的默認(rèn)配置架構(gòu)??梢詫?yīng)用配置為使用:

GDPR

ASP.NET Core 提供 API 和模板,幫助滿(mǎn)足歐盟一般數(shù)據(jù)保護(hù)條例 (GDPR) 的部分要求。 有關(guān)詳細(xì)信息,請(qǐng)參閱 ASP.NET Core 中的 GDPR 支持。 示例應(yīng)用演示如何使用并允許測(cè)試已添加到 ASP.NET Core 2.1 模板中的大多數(shù) GDPR 擴(kuò)展點(diǎn)和 API。

集成測(cè)試

引入了可簡(jiǎn)化創(chuàng)建和執(zhí)行測(cè)試的新包。 Microsoft.AspNetCore.Mvc.Testing 包可處理以下任務(wù):

  • 將依賴(lài)項(xiàng)文件 (*.deps) 從已測(cè)試的應(yīng)用復(fù)制到測(cè)試項(xiàng)目的 bin 文件夾中。
  • 將內(nèi)容根目錄設(shè)置為已測(cè)試應(yīng)用的項(xiàng)目根目錄,以便可在執(zhí)行測(cè)試時(shí)找到靜態(tài)文件和頁(yè)面/視圖。
  • 提供 WebApplicationFactory 類(lèi),以簡(jiǎn)化已測(cè)試應(yīng)用在 TestServer 中的啟動(dòng)過(guò)程。

以下測(cè)試使用 xUnit 檢查索引頁(yè)是否加載了成功狀態(tài)代碼和正確的 Content-Type 標(biāo)頭:

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());
    }
}

有關(guān)詳細(xì)信息,請(qǐng)參閱集成測(cè)試主題。

[ApiController], ActionResult<T>

ASP.NET Core 2.1 添加了新編程約定,方便構(gòu)建簡(jiǎn)潔的說(shuō)明性 Web API。 ActionResult<T> 是一個(gè)新增類(lèi)型,可允許應(yīng)用返回響應(yīng)類(lèi)型,或返回任何其他操作結(jié)果(與 IActionResult 相似),同時(shí)仍然指示響應(yīng)類(lèi)型。 此外還添加了 [ApiController] 特性,作為選擇加入特定于 Web API 的約定和行為的方式。

有關(guān)詳細(xì)信息,請(qǐng)參閱使用 ASP.NET Core 構(gòu)建 Web API。

IHttpClientFactory

ASP.NET Core 2.1 引入了新的 IHttpClientFactory 服務(wù),方便在應(yīng)用中配置和使用 HttpClient 的實(shí)例。 HttpClient 已經(jīng)具有委托處理程序的概念,這些委托處理程序可以鏈接在一起,處理出站 HTTP 請(qǐng)求。 工廠可以:

  • 使根據(jù)已命名客戶(hù)端注冊(cè) HttpClient 的實(shí)例變得更直觀。
  • 實(shí)現(xiàn)一個(gè) Polly 處理程序,允許將 Polly 策略用于 Retry、CircuitBreakers 等。

有關(guān)詳細(xì)信息,請(qǐng)參閱啟動(dòng) HTTP 請(qǐng)求。

Kestrel 傳輸配置

對(duì)于 ASP.NET Core 2.1 版,Kestrel 默認(rèn)傳輸不再基于 Libuv,而是基于托管的套接字。 有關(guān)詳細(xì)信息,請(qǐng)參閱 Kestrel Web 服務(wù)器實(shí)現(xiàn):傳輸配置

通用主機(jī)生成器

引入了通用主機(jī)生成器 (HostBuilder)。 此生成器可用于不處理 HTTP 請(qǐng)求(消息傳送、后臺(tái)任務(wù)等等)的應(yīng)用。

有關(guān)詳細(xì)信息,請(qǐng)參閱 .NET 通用主機(jī)

更新的 SPA 模板

更新了適用于 Angular、React 和 React 結(jié)合 Redux 的單頁(yè)應(yīng)用程序模板,以使用標(biāo)準(zhǔn)項(xiàng)目結(jié)構(gòu)和為每個(gè)框架構(gòu)建系統(tǒng)。

Angular 模板基于 Angular CLI,而 React 模板基于 create-react-app。

有關(guān)詳細(xì)信息,請(qǐng)參見(jiàn):

Razor Pages 搜索 Razor 資產(chǎn)

在 2.1 中,Razor Pages 按所列順序搜索以下目錄中的 Razor 資產(chǎn)(例如布局和分區(qū)):

  1. 當(dāng)前 Pages 文件夾。
  2. /Pages/Shared/
  3. /Views/Shared/

某個(gè)區(qū)域內(nèi)的 Razor Pages

Razor Pages 現(xiàn)在支持區(qū)域。 要查看區(qū)域示例,請(qǐng)使用個(gè)人用戶(hù)帳戶(hù)創(chuàng)建新 Razor Pages Web 應(yīng)用。使用個(gè)人用戶(hù)帳戶(hù)的 Razor Pages Web 應(yīng)用包括 /Areas/Identity/Pages。

MVC 兼容性版本

SetCompatibilityVersion 方法允許應(yīng)用選擇加入或退出 ASP.NET Core MVC 2.1 或更高版本中引入的潛在中斷行為變更。

有關(guān)更多信息,請(qǐng)參見(jiàn)ASP.NET Core MVC 的兼容性版本。

從 2.0 遷移到 2.1

請(qǐng)參閱從 ASP.NET Core 2.0 遷移到 2.1

其他信息

要獲取完整的更改列表,請(qǐng)參閱 ASP.NET Core 2.1 發(fā)行說(shuō)明


以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)