修复 ASP 问题
Web 开发中最具挑战性的任务之一是理解应用程序性能问题的根本原因。 解决此任务的有效方法是监控主要应用程序组件的执行时间。
动态程序分析 (DPA) 在此过程中非常有帮助,因为它提供了 MVC 操作、 Razor 页面处理程序和 Razor 视图组件的时间信息。
DPA 支持 .NET 5.0 及更高版本中的 ASP.NET Core。
MVC 操作
在模型-视图-控制器 (MVC) 模式中,控制器负责处理用户输入并协调模型和视图的交互。 控制器本质上是一个处理 HTTP 请求的类。 负责处理请求的类方法称为 操作。
DPA 允许您跟踪 MVC 操作的执行时间,即操作处理请求所需的时间。
默认阈值为 500 毫秒。
Razor 页面处理程序
Razor Pages 是 ASP.NET Core 中引入的一项功能,作为构建 Web UI 的 MVC 模式的替代方案。 它是一种基于页面的编程模型,使构建 Web UI 更加简单。 在 Razor Pages 中,处理程序是页面模型中的方法,用于处理 HTTP 请求。
DPA 允许您跟踪处理程序方法的执行时间,即特定方法处理请求所需的时间。
默认阈值为 500 毫秒。
Razor 视图组件
Razor ViewComponents 是 ASP.NET Core 中的一项强大功能,旨在创建封装渲染逻辑和数据获取的可重用组件。 这些组件可以从 Razor 视图中调用,非常适合创建动态内容部分,例如菜单、小部件、表单等。
视图组件的入口点是 调用 或 InvokeAsync 方法。 此方法负责执行任何必要的逻辑并返回应渲染的视图。 当您将视图组件添加到 Razor 视图时,会调用视图组件的 调用 或 InvokeAsync 方法。
DPA 允许您跟踪视图组件的执行时间,即特定 调用 方法执行所有底层逻辑所需的时间。
默认阈值为 300 毫秒。
修正方法
操作/页面处理程序/调用 方法执行时间过长可能有多种原因。 最常见的原因是:方法执行了过多的计算、数据库查询或 HTTP 请求。 通信问题也可能是原因之一。
一般建议是分析方法代码,并尝试逐一排除上述原因。