在C#中,可以使用TransactionScope
類來封裝事務操作。TransactionScope
類提供了一個簡單的方式來創建和管理事務,它會自動處理事務的啟動、提交和回滾。以下是一個簡單的示例代碼:
using System;
using System.Transactions;
public class TransactionExample
{
public void TransferFunds(decimal amount, string fromAccount, string toAccount)
{
using (TransactionScope scope = new TransactionScope())
{
// 執行轉賬操作,假設這里包含具體的業務邏輯
// 如果發生異常,事務將自動回滾
// 如果操作成功,事務將自動提交
Console.WriteLine($"Transferring {amount} from {fromAccount} to {toAccount}");
// 模擬轉賬操作
// 這里可以添加具體的數據庫操作或其他事務性操作
// 如果操作成功,提交事務
// 如果操作失敗,會自動回滾事務
scope.Complete();
}
}
}
class Program
{
static void Main()
{
TransactionExample example = new TransactionExample();
example.TransferFunds(100, "Account1", "Account2");
}
}
在上面的示例中,TransferFunds
方法使用TransactionScope
來創建一個事務范圍,并在其中執行轉賬操作。如果在事務范圍內發生異常,事務將自動回滾;如果操作成功,事務將自動提交。通過使用TransactionScope
類,可以簡化事務管理,并確保操作的一致性和完整性。