我运行的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
答案 0 :(得分:4)
想出来。像阿德里安麦卡锡一样说:
如果在调试器外部启动进程,然后附加调试器,则“停止调试”命令只是将调试器与进程分离,然后该过程继续运行。
最后,我使用了Debug菜单下的“Terminate All”。这实际上会停止所有请求/进程。
答案 1 :(得分:1)
如果在调试器外部启动进程,然后附加调试器,则“停止调试”命令只是将调试器与进程分离,然后该过程继续运行。
如果要停止该过程,请从调试器启动它。如果这不方便(例如,如果某个事件上的另一个进程启动了该进程),那么您必须在任务管理器中终止该进程,然后停止调试器。