C# Visual Studio 2012 MVC 3多个不需要的线程

C# Visual Studio 2012 MVC 3多个不需要的线程,c#,multithreading,asp.net-mvc-3,entity-framework,visual-studio-debugging,C#,Multithreading,Asp.net Mvc 3,Entity Framework,Visual Studio Debugging,我创建了一个MVC3C项目,并在VisualStudio2012中使用。我也在使用实体框架。调试时,我会在调试图标上看到“进程或线程自上一步以来已更改”消息。有一段时间,它没有改变程序的行为,所以我忽略了它 但是,最近我收到了相同的消息和行为(调试器跳回到断点所在的已执行方法的开头),只是现在我的代码实际上执行了两次。我的意思是,现在任何数据库插入都至少要运行两次。知道我也在使用实体框架可能会有所帮助,我的插入都是通过导入一个执行简单插入的存储过程来完成的 在我的代码中,我没有明确地启动新线程或

我创建了一个MVC3C项目,并在VisualStudio2012中使用。我也在使用实体框架。调试时,我会在调试图标上看到“进程或线程自上一步以来已更改”消息。有一段时间,它没有改变程序的行为,所以我忽略了它

但是,最近我收到了相同的消息和行为(调试器跳回到断点所在的已执行方法的开头),只是现在我的代码实际上执行了两次。我的意思是,现在任何数据库插入都至少要运行两次。知道我也在使用实体框架可能会有所帮助,我的插入都是通过导入一个执行简单插入的存储过程来完成的

在我的代码中,我没有明确地启动新线程或尝试执行任何多线程。我不太熟悉多线程,但是当我调试和使用threads窗口时,我看到一个主线程有7个线程,两个工作线程。(很抱歉,我会发布一张图片,但我是一个新用户,他们不允许我)

然后,当我点击F5继续时,我的单个断点再次被点击,我看到一个主线程、3个线程和6个!!工作线程

我可以在哪里查看多个线程正在旋转的位置/原因?另外,自上一步消息以来,我可以做些什么来更改流程?我已经研究了几个星期没有解决这个问题


提前感谢您的帮助

所以我找到了问题所在。两次将内容保存到数据库的问题是由于在页面上使用了两次不引人注目的ajax(一次在我的布局页面上,一次在单个页面上)


在浏览器中看到多个线程似乎是一个问题,因为我在应用程序中没有执行任何类型的线程。虽然这个小图标和方法中的后退很烦人(我想在某个时候解决它),但它实际上并没有改变应用程序的行为。

所以我找到了问题所在。两次将内容保存到数据库的问题是由于在页面上使用了两次不引人注目的ajax(一次在我的布局页面上,一次在单个页面上)


在浏览器中看到多个线程似乎是一个问题,因为我在应用程序中没有执行任何类型的线程。虽然方法中的小图标和退步很烦人(我想在某个时候解决它),但它实际上并不会改变应用程序的行为。

您使用TPL吗?您是否异步调用某个方法?您是否有由于某些SVC调用而执行的回调?是否有可能线程来自客户端,例如浏览器对您的操作进行多个异步调用?@JustinHarvey正是这样。@DHN不,我没有使用TPL或任何异步方法。我想我看到的多个线程只是来自浏览器。我实际上有很多问题。我解决了最重要的一个问题,所以我将发布解决方案并将其标记为已回答。您使用TPL吗?您是否异步调用某个方法?您是否有由于某些SVC调用而执行的回调?是否有可能线程来自客户端,例如浏览器对您的操作进行多个异步调用?@JustinHarvey正是这样。@DHN不,我没有使用TPL或任何异步方法。我想我看到的多个线程只是来自浏览器。我实际上有很多问题。不过我解决了最重要的一个问题,所以我将发布解决方案并将其标记为已回答。