VS2010在“停止调试”后继续运行(Web API)

时间:2014-02-27 16:48:52

标签: visual-studio-2010 visual-studio debugging asp.net-web-api

我运行的ASP.NET 4.0 WEB API应用程序修改了一些数据库记录。

我的代码遍历订单和更新:

<[PUT]("ProcessOrders")>
Public Sub PutValue()

   Dim Orders as List(of OrderInfo) = DAL.GetOrders()

   For Each Order As OrderRequest In Orders

       Dim Status As OrderProcessingStatus = Order.Process()

       If (Status.isSuccessfullyProcessed) Then
            DAL.UpdateOrderStatus(Order.OrderNumber, "SUCCESS")
       Else
            DAL.UpdateOrderStatus(Order.OrderNumber, "FAIL", Status.ErrorMessage)
       End If
   Next

End Sub

在VS2010中进行调试时,我得到订单的第一行有一个断点。 在VS2010中,我单击“停止调试” - 期望我的代码将不可避免地停止而不执行。

令我惊讶的是,即使我点击停止调试后,代码仍会继续运行并更新我的数据库。

请帮忙。

注意:我开始调试,然后我用Fiddler来调用这个方法

谢谢,

Simcha

2 个答案:

答案 0 :(得分:4)

想出来。像阿德里安麦卡锡一样说:

如果在调试器外部启动进程,然后附加调试器,则“停止调试”命令只是将调试器与进程分离,然后该过程继续运行。

最后,我使用了Debug菜单下的“Terminate All”。这实际上会停止所有请求/进程。

答案 1 :(得分:1)

如果在调试器外部启动进程,然后附加调试器,则“停止调试”命令只是将调试器与进程分离,然后该过程继续运行。

如果要停止该过程,请从调试器启动它。如果这不方便(例如,如果某个事件上的另一个进程启动了该进程),那么您必须在任务管理器中终止该进程,然后停止调试器。