簡體   English   中英

如何停止Visual Studio調試,以便不提交sql數據庫更改?

[英]How to stop Visual Studio debugging so sql database changes not commit?

我白天會處理幾個代碼頁和存儲過程。 我正在尋找一種在調試時停止Visual Studio的簡便方法,以便數據庫更改回滾。 由於我使用多個頁面,因此我不想在我的頁面或我使用的每個SP中添加代碼。 我可以在即時窗口中使用快捷方式或命令嗎?(我對其他解決方案持開放態度-這些是我想到的解決方案)如果我可以手動引發異常(不是用代碼編寫的,則在即時窗口中可能是)它可能會起作用。)

如果要拋出異常,可以在達到斷點后使用“立即窗口”進行處理。

問題是,您不能在“即時窗口”中使用以下內容:

throw new ApplicationException("Forced exception");

但是您可以創建該方法,然后從立即窗口啟動它

public static void ForceAnException()
{
    throw new ApplicationException("Forced exception");
}

在即時窗口中:

ForceAnException();

編輯:

所以也許試試這個:

var throwEx = false;
if(throwEx) ForceAnException();

然后在檢查條件之前將即時窗口throwEx更改為true ...應該可以...

我認為最好的辦法是使用TransactionScope類

只需將您的數據庫調用包裝在里面

 using (TransactionScope scope = new TransactionScope())
{
   // Invoke your database calls
   scope.Complete(); // Put a break point here and stop the program when the break point is hit.
}

我通常使用Process Explorer殺死w3wp.exe進程。 或者,您可以將調試器中的“黃色標記”拖放到提交之后的某個位置,以便跳過提交。 我有時還會將變量設置為null並以這種方式引發崩潰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM