0

我有一个在 Visual Studio 2012 中创建并一直在使用的 MVC 3 C# 项目。我也在使用实体框架。调试时,我得到已知的“自上一步以来进程或线程已更改”。调试图标上的消息。有一段时间,它并没有改变程序的行为,所以我忽略了它。

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

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

然后,当我按F5继续时,我的单断点又被击中,我看到一个主线程,3个线程,6个!!工作线程。

我在哪里可以查看在哪里/为什么有多个线程正在旋转?另外,自上一步消息以来,我可以做些什么来改变流程?我已经研究了几个星期没有解决方案。

预先感谢您的任何帮助!

4

1 回答 1

3

所以我弄清楚了问题所在。两次将事物保存到数据库的问题是由于页面上有两次不显眼的 ajax(一次在我的布局页面中,一次在单个页面上)。

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

于 2012-11-21T04:35:49.727 回答