日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網(wǎng)站首頁 編程語言 正文

ASP.NET?Core?6.0對熱重載的支持實例詳解_實用技巧

作者:周國慶 ? 更新時間: 2022-05-25 編程語言

.NET 熱重載技術支持將代碼更改(包括對樣式表的更改)實時應用到正在運行的程序中,不需要重啟應用,也不會丟失應用狀態(tài)。

一、整體介紹

目前 ASP.NET Core 6.0 項目都支持熱重載。在以下情況下支持應用的熱重載:

1. 僅運行一次的應用啟動邏輯代碼

  • 中間件,除非代碼更新是委托給內(nèi)聯(lián)中間件進行的。
  • 已配置的服務。
  • 路由創(chuàng)建和配置,除非代碼更新是委托給路由處理程序進行的(例如OnInitialized)。

2. Blazer應用中,框架將自動觸發(fā)Blazor組件渲染

3.在 MVC 和 Razor Pages 應用中,熱重載自動觸發(fā)瀏覽器刷新

4.刪除 Razor組件參數(shù)屬性不會導致重新呈現(xiàn)組件。 必須重啟應用。

Blazor WebAssembly 熱重載支持具有以下條件:

熱重載對方法主體的大多數(shù)更改做出反應,例如添加、刪除和編輯變量、表達式和語句。還支持對 lambda 表達式和本地函數(shù)的主體進行更改。不支持添加新的 lambda 或本地函數(shù)、添加新的運算符或關鍵字表達式。不支持更改方法參數(shù)的名稱。不支持方法主體之外的更改。在 Visual Studio 2022 GA (17.0) 中,只有在沒有調(diào)試器的情況下運行時,才支持熱重載。

.NET CLI

使用dotnet watch代碼激活熱重載:

dotnet watch

若要強制應用重新生成和重啟,請使用命令行界面中的鍵盤組合Ctrl+R

進行不受支持的代碼編輯時(稱為強制編輯),會詢問你是否要重啟應用:

是:重啟應用。否:不重啟應用,并將應用保持在運行狀態(tài)而不應用更改。始終:在發(fā)生強制編輯時按需重啟應用。從不:不重啟應用,也避免未來出現(xiàn)提示。

若要禁用熱重載支持,請將--no-hot-reload選項傳遞給dotnet watch命令:

dotnet watch --no-hot-reload

二、代碼示例

本文中我們使用一個Blazor應用示例一下Hot reload

1. VS Code新建Blazor Server project

dotnet new blazorserver

2. dotnet watch 運行

F:\Tranning\NET6\Blazor>dotnet watch
watch : Hot reload enabled. For a list of supported edits, see https://aka.ms/dotnet/hot-reload. Press "Ctrl + R" to restart.
watch : Building...
  正在確定要還原的項目…
  所有項目均是最新的,無法還原。
  Blazor -> F:\Tranning\NET6\Blazor\bin\Debug\net6.0\Blazor.dll
watch : Started
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: https://localhost:7256
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://localhost:5249
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
      Content root path: F:\Tranning\NET6\Blazor\

首頁顯示的內(nèi)容:

3. 修改index.razor中的代碼

界面顯示也自動跟著刷新了

以上是ASP.NET Core 6.0對熱重載的支持的一些介紹。

總結

原文鏈接:https://www.cnblogs.com/tianqing/p/16037188.html

欄目分類
最近更新