asp.net mvc应用程序的奇怪行为。

时间:2016-05-25 01:33:35

标签: asp.net-mvc debugging

在我的ASP.Net MVC应用程序中,我必须调用一个用户定义的函数。每当刷新页面时,都会调用此函数。现在问题是什么,它第一次运行完美。但是当我刷新时,因为我已经把断点,它反复上下。

这意味着,调试器转到line1,将运行多次,然后转到第二行,转到第三行,转到第一行,依此类推。我在下面附上了照片。我正在开发MVC4中的应用程序。

enter image description here

enter image description here

enter image description here

enter image description here

第一张图片是第一次运行。在第二张图像中,行connection.Open()运行三次。它发生在每一行。调试器突然上下起伏。我不知道这有什么问题。任何人都能解释一下吗?谢谢。

2 个答案:

答案 0 :(得分:2)

当有多个线程调用您的代码时,您会看到这种情况。

代码是否可能被不同的线程多次调用?

要确定运行时哪些线程,请使用调试器的“线程”窗口。转到DEBUG> WINDOWS> THREADS

以下是有关调试多线程应用的更多信息:https://msdn.microsoft.com/en-us/library/ms164746.aspx

这可以让您深入了解哪些线程在何时遇到断点。

然后检查调用堆栈并查看调用的来源。

我还考虑打开您的浏览器调试工具的Fiddler或Network选项卡,看看是否有多个请求被触发,导致您的代码被多次调用 - 然后从那里追溯到什么正在启动这些网络请求。

答案 1 :(得分:2)

这绝对是因为多个线程同时运行。

使用此VS扩展来限制仅在其中一个线程上调试器命中:https://visualstudiogallery.msdn.microsoft.com/54ef0f07-ed1d-4b89-b4ae-6506b196f843