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

Asp.net mvc asp.net mvc应用程序的怪异行为。,asp.net-mvc,debugging,Asp.net Mvc,Debugging,在我的ASP.Net MVC应用程序中,我必须调用一个用户定义的函数。每当刷新页面时,都会调用此函数。现在问题出在哪里,它第一次运行得很完美。但是当我刷新时,正如我放置断点一样,它会反复地上下移动 这意味着,调试器转到第1行,将运行多次,然后转到第二行、第三行、第一行,依此类推。我在下面附上了照片。我正在MVC4中开发应用程序 第一个映像是第一次运行。在第二幅图中,行connection.Open()运行三次。每行都会发生这种情况。调试器突然上下移动。我不知道这是怎么回事。有人能解释一下

在我的
ASP.Net MVC
应用程序中,我必须调用一个用户定义的函数。每当刷新页面时,都会调用此函数。现在问题出在哪里,它第一次运行得很完美。但是当我刷新时,正如我放置断点一样,它会反复地上下移动

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


第一个映像是第一次运行。在第二幅图中,行
connection.Open()
运行三次。每行都会发生这种情况。调试器突然上下移动。我不知道这是怎么回事。有人能解释一下吗?谢谢。

听起来就像有多个线程在调用代码时看到的那样

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

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

以下是有关调试多线程应用程序的详细信息:

这应该可以让您了解哪些线程在运行时遇到了断点

然后检查调用堆栈并查看调用来自何处


我也会考虑打开FIDDLE或浏览器调试工具的网络选项卡,看看是否有多个请求被触发,这导致代码被多次调用,然后从那里回溯什么引发了这些Web请求。多个线程调用您的代码

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

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

以下是有关调试多线程应用程序的详细信息:

这应该可以让您了解哪些线程在运行时遇到了断点

然后检查调用堆栈并查看调用来自何处


<>我也会考虑打开你的浏览器调试工具的FIDDLE或网络选项卡,看看是否有多个请求被触发,这导致你的代码被多次调用,然后从那里回溯什么引发了这些Web请求。同时


使用此VS扩展可以限制调试器仅命中其中一个线程:

这肯定是因为多个线程同时运行


使用这个VS扩展来限制调试器只命中其中一个线程:

好吧,它不是唯一的调试器。当我在不调试的情况下运行应用程序时,就会发生这种情况。因此,我认为只有在使用调试运行时才限制调试器。当应用程序处于活动状态时,您有什么建议。上面的代码实际上多次获得记录。您在调试时检查过代码的调用堆栈吗?我的意思是比较调用堆栈,看看它们是由不同的方法调用的,还是都是相同的。如果它们是相同的,那么我假定您正在从视图发送重复的请求。@DhavaIR,您需要在服务器端编写锁语句,或者更改客户端以确保只调用一次您的方法。这不仅仅是调试器。当我在不调试的情况下运行应用程序时,就会发生这种情况。因此,我认为只有在使用调试运行时才限制调试器。当应用程序处于活动状态时,您有什么建议。以上代码实际上得到了多次记录。调试时是否检查过代码的调用堆栈?我是说比较调用堆栈,看看它们是由不同的方法调用的,还是它们都是相同的。如果它们是相同的,那么我假定您正在从视图发送重复的请求。@DhavaIR,您需要在服务器端写lock语句,或者更改客户端以确保只调用一次您的方法。