網(wǎng)站首頁 編程語言 正文
.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
相關推薦
- 2022-04-09 Oracle?19c?RAC?手工建庫的搭建過程_oracle
- 2023-03-17 Go語言依賴管理三要素示例解析_Golang
- 2022-09-30 在ubuntu下安裝go開發(fā)環(huán)境的全過程_Golang
- 2023-01-03 c語言malloc函數(shù)的用法示例和意義_C 語言
- 2025-02-10 window11 系統(tǒng)安裝 yarn
- 2022-07-02 C++精要分析decltype的作用及用法_C 語言
- 2022-11-15 Flutter異步操作實現(xiàn)流程詳解_Android
- 2022-12-27 Swift?Error重構優(yōu)化詳解_Swift
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結構-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支