首页 > 解决方案 > 当有多个同时请求时,如何在 Visual Studio 中更轻松地调试 ASP.NET 应用程序

问题描述

在 Visual Studio 中交互式调试 ASP.NET(或 ASP.NET MVC)应用程序时(无论是本地调试还是远程调试),调试过程通常会变得复杂,因为当我尝试单步调试时,Web 应用程序可能会收到多个请求代码。结果,当前执行的行会到处乱跳。

有没有办法将请求数限制为 1,或者以某种方式隔离单个请求的调试,这样我就不会在代码行之间跳转?

更新:我尝试过使用“线程”窗口,但没有看到解决问题的方法。

标签: asp.netasp.net-mvcvisual-studiodebuggingvisual-studio-2017

解决方案


根据要求,我对序列图解决方案的澄清:

序列图使您的应用程序流程可见。关键是手写,只包含主要流程,所以如果你的班级使用4个函数来执行某个路径,只需写下它去了那个班级和它做了什么,不需要让4个不同的参与者。

要编写序列图,我通常使用https://www.websequencediagrams.com/这是一个很棒的网站。

为了向您展示序列图的力量,我做了这个例子: 网络摄像头序列图示例

您在这里看到的是一个简单的应用程序流程,它向您显示网络摄像头的图像。该应用程序的问题是网络摄像头框架/位图在将其绘制到前端时被处理。通过序列图,您可以了解原因。

您还可以将其与您的应用程序日志记录结合使用。当您让进程记录您的所有“序列图”步骤时,您可以回溯日志记录中发生的事情。

编辑:

网络摄像头这个特殊问题的解决方案是使用 autoresetevents,你基本上挂起一个线程,直到另一个线程放手。您也可以通过尝试更新某些内容并查看结果来对数据库执行此操作。


推荐阅读