考慮下面的代碼:事務NTFS的Process.Start(TxF的)()
try
{
using(TransactionScope)
{
Process.Start("SQLInstaller.EXE");
throw new Exception();
Commit();
}
}
catch(Exception ex)
{
//Do something here
}
將SQLInstaller.exe所做的更改將在這種情況下回滾?更具體地說,通過Process.Start()啓動的外部進程所做的更改是否由TxF處理?
謝謝!
什麼是「使用(TransactionScope)」? – 2010-06-01 16:00:09
@Darin:TxF使用的實際Transaction對象的僞代碼。 http://msdn.microsoft.com/en-us/magazine/cc163388.aspx#S6 – Ian 2010-06-01 16:04:47
@Darin:它是System.Transactions命名空間中的一個類。當「TransactionScope」處於活動狀態時,Microsoft提供的支持事務的對象將自動登錄到「當前」範圍內的事務中(如有必要,將其提升爲分佈式事務)。某些第三方組件也會支持它,如果您選擇這樣做,可以自動註冊您自己的對象。 當處理'TransactionScope'時,如果沒有調用'Complete()'方法,則所有登記的事務都會自動回滾。 – Toby 2010-06-01 16:17:03