首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么在debug/visual studio中会调用两次Razor page (OnX)处理程序?

在debug/visual studio中调用两次Razor page (OnX)处理程序的原因可能是由于以下几个因素:

  1. 请求生命周期:在ASP.NET Core中,每个HTTP请求都会经过一系列的处理步骤,包括路由、中间件处理、控制器处理等。当调试一个Razor页面时,每次请求都会触发一次处理程序的执行,因此可能会看到多次调用。
  2. 自动重载:Visual Studio具有自动重载功能,当你修改了Razor页面的代码后,它会自动重新编译并重新加载页面。这可能会导致页面被调用多次,以确保最新的更改生效。
  3. 缓存机制:ASP.NET Core中的页面缓存机制可能会导致页面被多次调用。当页面被缓存时,后续的请求可能会直接从缓存中获取页面内容,而不会再次执行处理程序。但在调试模式下,为了方便调试和查看最新的更改,缓存可能会被禁用,从而导致页面被多次调用。

总结起来,调试/Visual Studio中调用两次Razor页面处理程序可能是由于请求生命周期、自动重载和缓存机制等因素的影响。这种行为是正常的,可以通过适当的调试技巧和了解ASP.NET Core的处理流程来处理。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

正式开始学习ASP.NET Core 6 Razor Pages 介绍

ASP.NET Core Razor Pages 介绍 我们将使用Visual Studio 2019使用 Razor Pages 创建新的Web应用程序。以下是步骤。...启动Visual Studio 2019 单击“ 创建新项目”选项。 随后的屏幕上,选择“ ASP.NET Core Web应用程序”模板,然后单击“ 下一步”。...* 为什么是CS结尾,因为编程语言是CSHARP。 * 该文件中的类是显示模板的模型。它从PageModel类派生。 * 就像MVC一样, Razor Pages 也支持依赖项注入。...Controller(控制器):处理 Http 请求,调用模型,请选择一个视图来呈现该模型 除了创建模型外,控制器还选择一个视图并将模型对象传递给该视图。...一些ASP.NET Core Web应用程序中,也可以将两种模式(即ASP.NET Core MVC和Razor Pages)组合在一起。

3.6K10

razorpages_rabeprazole

如何创建RazorPage 我们可以通过多种方式来创建Razor Page项目, 当然我还是建议您使用Visual Studio 2017(宇宙最强的IDE)。...要创建Razor Page,你需要先安装.Net Core 2.0 SDK及以上版本(现在不区分core了 是.net6),如果要使用Visual Studio来创建,您还必须要更新到15.3版本以上...打开cmd或者powershell工具,先检查下你的dotnet 版本是否为2.0.0 dotnet –version 用Visual Studio 创建是非常方便的(宇宙最强IDE),不过我们必须要先升级到...Asp.Net Core Web应用程序,接下来会弹出一个对话框,让我们选择模板类型: 通过上节我们创建了Razor Page项目,直接通过dotnet run或者vs中F5运行。...比如OnGet,它会在Get Index的时候被执行,我们可以通过这个约定进行数据绑定,这里知道下在Razor Page下HttpMethod也是一个handler,所以Razor Page处理方式是通过

57520

Do You Kown Asp.Net Core -- Asp.Net Core 2.0 未来web开发新趋势 Razor Page

如何创建Razor Page 我们可以通过多种方式来创建Razor Page项目,最简单的就是利用dotnet命令方式,当然我还是建议您使用Visual Studio 2017(宇宙最强的IDE)。...Visual Studio 2017创建Razor PageVisual Studio 2017创建是非常方便的(宇宙最强IDE),不过我们必须要先升级到15.3,升级之后选择新建项目->.Net...我们在这里无法找到Razor Page,那是因为Razor Page已经变成默认的【Web应用程序模板】了,而传统的MVC方式已经变成【Web应用程序(模型视图控制器)】。...QuickStart Razor Page Hello Razor Page 通过上节我们创建了Razor Page项目,直接通过dotnet run或者vs中F5运行。...比如OnGet,它会在Get Index的时候被执行,我们可以通过这个约定进行数据绑定,这里知道下在Razor Page下HttpMethod也是一个handler,所以Razor Page处理方式是通过

2K60

.NET Core 2.0发布了

Visual Studio 2017 15.3+ 相应的,Visual Studio 2017也更新了,详细更新情况请看更新日志,这个有中文版的,很良心。...Razor Pages 新版本中引入了一种新的技术 Razor Pages,它在某些更侧重编写页面的场景中有良好的应用。如果项目中启用了MVC的话,那么Razor Pages也自动启用了。...请看官方的例子,下面是一个Razor Pages,它和普通的Razor语法的MVC视图页面很相似,只不过顶部使用@page指令标识这是一个单独的Razor Pages。... Razor Pages中也可以添加函数。...从1.1升级到2.0 我自己也做了一个ASP.NET Core小程序玩玩,正好借这个机会升级到2.0 ,这里参考了官方的迁移指南。迁移之前,确保正确安装了.NET Core 2.0 。

1.2K100

创建API服务最小只要4行代码!!!尝新体验ASP.NET Core 6预览版本中的最小Web API(minimal APIS)新特性

.NET Core中创建程序的方式有多种,可以使用命令行工具执行dotnet new 创建,也可以使用IDE(如:Visual Studio, Rider, VS Code...使用Visual Studio创建最小API项目 使用Visual Studio创建最小API项目,请确保已安装Visual Studio 2022 17.0.0 Preview 3.0(当前最新版本)...依次打开Visual Studio 2022的【Start Window】->【Create a new project】窗口,右侧的已安装模板列表中选择【ASP.NET Core Empty】项目模板...Visual Studio 2022中,按F5运行,如果在浏览中打开并显示如下页面,说明最小API项目运行正常,如图: 最小API项目中,直接调用WebApplication.MapGet()方法即可完成路由的注册和映射...与以往的ASP.NET Core应用程序相同,最小API项目中,你仍然可以使用像Swagger这样的接口文档组件。

5K30

如何在 ASP.NET MVC 中集成 AngularJS(1)

如果你是一个微软开发者,你可以使用它们 Visual Studio 中一键式发布你的 Web 应用,而不用学习使用任何第三发工具和库类。...创建 MVC 项目并安装 Angular NuGet 包 为了开始示例应用程序,我通过 Visual Studio 2013 专业版中选择 ASP.NET Web 应用程序模板来创建一个 ASP.NET...对于这种应用,我使用的 Visual Studio 2013 专业版,这让一切变得简单,我为 Visual Studio2013 专业版下载了一个自动版本的插件 https://visualstudiogallery.msdn.microsoft.com...目前,这个插件只是 Visual Studio 2013 专业版中支持,或者你也可以手动更新版本号或使用类似微软的 TFS 以持续构建和配置管理环境的方式,来管理你的版本号。 ?...本质上,索引 Razor 视图应用程序的引导过程中被简单的使用,并且应用程序启动后不会被引用。

7.5K60

ASP.NET MVC 4, ASP.NET Web API 和ASP.NET Web Pages v2(Razor)现在都是开源了

自从成立以来, ASP.NET MVC 已经是开源的了,2009 年 4 月转换为了 MS PL 许可证,开发人员没有从社区采用贡献程序。我们开放源代码时,我们没有“开放源码,索取回报”。...我们 Visual Studio 2010的NuGet中推出社区代码, NuGet 已采纳了社区贡献。现在我们将在即将发布的Visual Studio版本中的ASP.NET内部推出社区代码。...为什么开源? 如果你一直追随我们的脚步的话,事实上我们使用Visual Studio和ASP.NET推出开放源已经有好几年了。...这仍然是一个路线图,其实,现在有比以往任何时候都多的微软开发人员致力于ASP.NET。 你们为什么这样做? 我们为什么不应该这样做?我们喜欢开源,你们也是。...为什么不放在 GitHub上? Visual Studio 团队有一个针对CodePlex 的宏伟计划,包括添加Git支持,并现代化体验。

1.6K60

分享刚出炉的基于Blazor技术的Web应用开发框架

这是最近刚刚重构完成的项目,有点迫不及待的分享给大家,为了跟上技术升级把原来基于MVC Razor Page开源项目 RazorPageCleanArchitecture 进行重构, 前端用Blazor-Server...Page Application:https://github.com/neozhu/RazorPageCleanArchitecture Code Generator Tools:https://...v=GyZJl_dG-Pg Screenshots 为什么采用Blazor Server mode而不是用前后端分离的Webassembly mode开发 因为简单,采用前后端分离的架构,需要在Server...开发环境 DotNet 6 Microsoft Visual Studio 2022 (64-bit) Support Docker 依赖第三方库(重点) Entity Framework Core 6...How to 参考 application/features/Products 增删改查的代码,还包含导入导出功能和图片上传功能 开发体验 一句话用了Blazor开发Web应用程序再也不想回到用Jquery

70010

.NET5 Blazor初探

组件是内置到 .NET 程序集的 .NET C# 类,它们用于: 定义灵活的 UI 呈现逻辑。 处理用户事件。 可以嵌套和重用。 可作为 Razor 类库或 NuGet 包共享和分发。...借助 Razor,可使用 Visual Studio 中的 IntelliSense 编程支持同一文件中的 HTML 标记与 C# 之间切换。...Razor Pages 和 MVC 也使用 Razor。 与基于请求/响应模型生成的 Razor Pages 和 MVC 不同,组件专门用于处理客户端 UI 逻辑和构成。...下面的 Razor 标记演示了一个组件 (Dialog.razor),它显示一个对话框,并处理在用户选择按钮时发生的事件: ...于是就模仿这个页面新建了一个razor的组件(注:razor的组件第一个字母必须是大写) @page "/ReplenishLrpage" @using ZngyTest.Shared.Znyg.Model

2.9K11

为什么你需要将代码迁移到ASP.NET Core 2.0?

开发者们可以选择使用命令行、个人喜好的文本编辑器、Visual Studio 2017 15.3 和 Visual Studio Code 来开发自己的 .NET Core 2.0 项目。...同时,微软 .NET 开发工具组也宣布了 ASP.NET Core 2.0 的发布,并且此版本与 .NET Core 2.0、Visual Studio 2017 15.3 和新的 Razor Pages...模板增强 ASP.NET Core 附带的模板已被增强,不仅包括使用 MVC 模式构建的 Web 应用程序,还包括 Razor Pages Web 应用程序模板,以及一系列能够为浏览器构建单页应用程序... Visual Studio 2017 中,右键单击 project,然后选择“Add – Application Insights Telemetry”,应用程序就会开始收集数据。...最后可以直接在 Visual Studio 2017 中查看应用程序的性能,也包括所有日志消息。

88010

.NET Core多平台开发体验: Windows

微软千禧年推出 .NET战略,并在两年后推出第一个版本的.NET Framework和IDE(Visual Studio.NET 2002,后来改名为Visual Studio),如果你是一个资深的....当我们敲这行文字的时候,Visual Studio的最新版本为2017(15.3)。顺便说一下,Visual Studio已经提供了Mac版本。...接下来我们直接利用Visual Studio 2017打开上面这个helloworld.csproj项目文件。为了程序性中使用到上述这两个对象,我们自然先得具有对应程序集的引用。...这个特性Visual Studio 2017上做了进一步改进。...针对Configure方法的调用中,我们调用IApplicationBuilder的扩展方法UseMvc注册了RouterMiddleware中间件以及针对ASP.NET Core MVC的路由处理

1.7K70

Asp.net mvc 知多少(一)

Service(服务):服务是应用程序中用来处理业务逻辑的。 Repository(仓储):仓储的作用是数据的存储读取,即封装数据持久化框架。它不关心使用何种数据库。...这一层被Controller直接调用处理用户输入并将结果返回到View Data Access Layer - 提供对象去访问和操作数据库。...以下是ASP.NET MVC的主要版本及版本特性: ASP.NET MVC1 2009-3-13 发布 基于 .NET 3.5、Visual Studio 2008 、Visual Studio 2008...Studio 2010运行 Razor view engine 加强了数据验证 Remote Validation(远程验证) Compare Attribute(比较属性) Session less...Studio 2010SP1 & Visual Studio 2012运行 ASP.NET WEB API 对默认的项目模板进行更新和加强 提供了基于Jquery Mobile的移动项目模板 Display

2.2K70

Pro ASP.NET MVC –第五章 使用Razor「建议收藏」

Razor是微软MVC3中引入的视图引擎的名字,MVC4中对其进行了改进(尽管改动非常小)。视图引擎处理ASP.NET内容、寻找指令,典型地用于插入动态数据并输出到浏览器中。...此时你运行工程,那么将会得到如下的结果: 通过使用@model表达式,我们告诉MVC使用什么类型的对象,同时Visual Studio也可从中获益。...首先,当你在编写视图中,一旦你Visual Studio中输入@model后,Visual Studio将自动列出该对象的属性、字段以及方法 此外,如果你输入一个该对象不存在的成员,那么Visual...如果你运行程序,那么浏览器中,你会看到DIV的特性的值已经正确地呈现出 False和True对应Viewbag的布尔值,请注意Razor已经对值为NULL的属性做了特别的处理,因此data-supplier...创建视图时,Visual studio并没有提供数组和集合的支持,因此你需要手动设置模型类的类型 然后在生成的视图中,你可以看到model的类型为:@model MvcRazor.Models.Product

2.9K20
领券