ASP.NET Core 6.0对热重载的支持

.NET 热重载技术支持将代码更改(包括对样式表的更改)实时应用到正在运行的程序中,不需要重启应用,也不会丢失应用状态。

一、整体介绍

目前 ASP.NET Core 6.0 项目都支持热重载。在以下情况下支持应用的热重载:

      1. 仅运行一次的应用启动逻辑代码

    • 中间件,除非代码更新是委托给内联中间件进行的。

    • 已配置的服务。

    • 路由创建和配置,除非代码更新是委托给路由处理程序进行的(例如 OnInitialized)。

      2. Blazer应用中,框架将自动触发Blazor组件渲染

      3. 在 MVC 和 Razor Pages 应用中,热重载自动触发浏览器刷新

      4. 删除 Razor组件参数属性不会导致重新呈现组件。必须重启应用。

Blazor WebAssembly 热重载支持具有以下条件:

  1. 热重载对方法主体的大多数更改做出反应,例如添加、删除和编辑变量、表达式和语句。

  2. 还支持对 lambda 表达式和本地函数的主体进行更改。

  3. 不支持添加新的 lambda 或本地函数、添加新的运算符或关键字表达式。

  4. 不支持更改方法参数的名称。

  5. 不支持方法主体之外的更改。

  6. 在 Visual Studio 2022 GA (17.0) 中,只有在没有调试器的情况下运行时,才支持热重载。

.NET CLI

   使用 dotnet watch 代码激活热重载:

dotnet watch

若要强制应用重新生成和重启,请使用命令行界面中的键盘组合Ctrl+R

进行不受支持的代码编辑时(称为强制编辑), 会询问你是否要重启应用:

  • 是:重启应用。

  • 否:不重启应用,并将应用保持在运行状态而不应用更改。

  • 始终:在发生强制编辑时按需重启应用。

  • 从不:不重启应用,也避免未来出现提示。

若要禁用热重载支持,请将 --no-hot-reload 选项传递给 dotnet watch 命令:

dotnet watch --no-hot-reload

二、代码示例

 本文中我们使用一个Blazor应用示例一下Hot reload

 1. VS Code新建Blazor Server project 

dotnet new blazorserver

3bc14142cf1a281f1556269acb2103b8.png

6db6ca4b4f4213f3dc5f40db3a368b11.png

 2. dotnet watch 运行

a841477eecd5fe8338abf8b8bf2d1070.png

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\

9c8b313a2ba6e351a4e0212bf77b9350.png

330c5cc2df49284f16bfe98e5deade66.png

       首页显示的内容:

5fde4389462ed4f5120d388e02298511.png

 3. 修改index.razor中的代码

535c328d86560261f25f2aceb2730eee.png

       界面显示也自动跟着刷新了

7127a32a11036e0ab62e4bbbcc6328b1.png

  以上是ASP.NET Core 6.0对热重载的支持的一些介绍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289996.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

std::bind 详解及参数解析

// Bind_std_function.cpp : 定义控制台应用程序的入口点。 //#include "stdafx.h" #include <iostream> #include <functional> #include <random> #include <memory> //学习bind的用法 void f(int n1, int n2, int n3, const int & n4…

【ArcGIS风暴】ArcGIS中制作GPS点位轨迹线及多边形

目录 一、制作线状shapefile文件 二、制作多边形shapefile文件 将GPS数据导成点状shapefile文件比较容易,那么怎么把这些点连接起来做成线状shapefile文件,以及面状shapefile文件呢?现在把思路描述如下: 一、制作线状shapefile文件 1、首先将GPS数据转换成点状shapefil…

vscode搜索文件_VS Code 新图标来临 —— 侧边栏、文件管理器、搜索、调试等区域的图标迎来全新设计...

今天(北京时间 2019 年 7 月 9 日)&#xff0c;微软 Visual Studio Code 团队的高级设计师 Miguel Solorio 在 Twitter 上宣布了全新的图标已经来到了 VS Code Insiders 版本&#xff01;这意味着&#xff0c;全新的图标将会在下个月发布的 VS Code 1.37 正式版中出现。此次图标…

贪心算法之用优先队列解决最短路径问题(Dijkstra算法)

1、问题 最短路径问题(Dijkstra算法)用 优先队列实现,问题描述和分析和优先队列先看前面我的几篇博客 贪心算法之最短路径问题(Dijkstra算法) C++之STL之priority_queue 2、用优点队列实现 #include <iostream> #include <cstdio> #include <stack> #…

[活动 3.30]MAUI 跨平台应用开发实战

点击上方蓝字关注我们&#xff08;本文阅读时间&#xff1a;4 分钟&#xff09;活动介绍▌MAUI 跨平台应用开发实战前端应用开发往往需要面对 iOS、Android、Windows 等多平台开发的问题。如能用一种开发工具进行多平台的开发&#xff0c;可以跨平台共享 UI 布局和设计&#xf…

Kickstart之添加自动化脚本

自动化安装系统后我们希望能够在系统安装前后自动执行一些命令和脚本。比如超过2T的硬盘转换成GPT模式&#xff0c;所以需要在系统安装前执行parted命令&#xff1b;系统安装后我们可以让系统自动运行某些命令和脚本&#xff0c;比如puppet、zabbix等等。所有配置只需在ks.cfg下…

nodejs即时聊天

一直想做一个即时聊天的应用&#xff0c;前几天看到了socket.io,感觉还不错。自己略加改动&#xff0c;感觉挺不错的。官网上给的样例非常easy&#xff0c;以下改进了一点&#xff0c;实现了历史消息的推送。 demo地址:chat.codeboy.me 当中server端代码: var app require(exp…

NDVI最大值法MVC合成之ArcGIS Cell Statistics 实现

目的:利用ArcGIS自带工具Cell Statistics实现多个栅格图层最大值法合成NDVI年或月的最大值。 工具:ArcToolbox>>Spatial Analyst Tools>>Local>>Cell Statistics

Android之简单背景颜色渐变实现

1、问题 需要实现简单颜色渐变背景 2、xml文件实现 1)、bg.xml文件 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <gradient android:startColor=&qu…

python爬虫企业级技术点_Python爬虫必备技术点(一)

爬虫必备技术面向具有Python基础的Python爬虫爱好者&#xff0c;urllib和requests两个库在实际的项目中应用也非常广泛&#xff0c;不仅用于爬虫技术也可以应用在API接口调用方面。如果需要相关的案例可以加我QQ(610039018)&#xff0c;另外我在B站上已发布了相关的爬虫视频(ht…

日记2015.11.5

access 连接 mysql 下载32位版本 mysql-connector-odbc-5.3.4-win32.msi注意access是32位版本未解决中文显示出现的编码问题 sublime text 2 安装出错 利用 event viewer 查看报错原因参考 https://www.sublimetext.com/forum/viewtopic.php?f3&p37798spark 运行出错 没编…

Citrix桌面及应用虚拟化系列之二:XenServer补丁

安装好XenServer之后&#xff0c;可以找一台管理机器&#xff08;目前主流系统都支持&#xff09;安装XenCenter&#xff0c;通过XenCenter来实现对XenServer的管理。安装XenCenter: 安装.NET Framework3.5 然后可以下载安装中文版的XenCenter&#xff0c;下载地址&#xff1…

OutLook2016修改注册表迁移.ost文件数据

Outlook2016默认只有一次设置存放OST文件路径的机会&#xff0c;是在第一创建帐号的向导上有个其他设置。如果关闭这个向导&#xff0c;在打开就不能修改路径了。按照这样思路&#xff0c;我们先关闭Outlook和Skype&#xff08;新版共用一个数据库文件&#xff09;&#xff0c;…

MODIS NDVI数据处理相关问题

现NDVI产品数据处理过程中遇到以下问题: 问题1: NDVI是归一化植被指数,它的取值范围是-1—1,如何理解? 方法 : 对于陆地表面覆盖来说,云、雨、雪在可见光比近红外波段有较高的反射作用,所以NDVI为负值;岩石、裸土的NDVI一般为0;有植被覆盖的地方一般大于0。

委托原来如此简单

什么是委托&#xff1f;委托是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。委托特别用于实现事件和回调方法&#xff01;使用委托:public delegate void MyDelegateDemo();private void HelloWorld(){Console.WriteLine("Hello World");}public …

0920,结构体

结构体&#xff1a;用户自定义数据类型&#xff0c;实际是变量组&#xff0c;可以一次存多个不同变量 结构体定义在main函数的外面 string 结构体名 { // 元素一 // 元素二 } //定义一个结构体 //struct student//student就是我们自己造的新数据类型 //{ …

Android之解决键盘覆盖编辑框问题

1、问题 键盘覆盖编辑框问题 2、解决办法 在Activity里面的onCreate方法里面加下代码 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

平面坐标(方里网)转换为经纬度坐标

方法一: 在Arcmap中转换: 1、加载要转换的数据,右下角为经纬度

mysql表 c#实体类,创建基于MySQL表中的C#类

Is there anything built into .Net or visual studio that will allow my to create classes based off of a MySql table. I guess I am talking about persistence. I just want the class to be a 1 to 1 mapping of the table. Does anything free exist?解决方案maybe y…