Dot-Net

TransactionScope 是如何工作的?

  • August 5, 2010

Method1()實例化 aTransactionScope並呼叫Method2()也實例化 aTransactionScope時,.NET 如何知道兩者在同一範圍內?我相信它不會在內部使用靜態方法,否則它不會在 ASP.NET 等多執行緒應用程序上執行良好。

是否可以創建我自己的類似 TransactionScope 的類,或者原始類是否使用了 Microsoft 知道它們如何工作的特殊功能?

希望這可以幫助:

<http://msdn.microsoft.com/en-us/magazine/cc300805.aspx>

對於那些不熟悉 TransactionScope 的人,它是 Microsoft® .NE​​T Framework 2.0 新增的 System.Transactions 命名空間的一部分。System.Transactions 提供了一個完全集成到 .NET Framework 中的事務框架,包括但不限於 ADO.NET。Transaction 和 TransactionScope 類是這個命名空間中最重要的兩個類。正如問題所暗示的,您可以創建一個 TransactionScope 實例,並且在該 TransactionScope 範圍內執行的 ADO.NET 操作將自動登記(您也可以通過 Transaction.Current 靜態屬性訪問目前 Transaction):

using(TransactionScope scope = new TransactionScope())
{
    ... // all operations here part of a transaction
    scope.Complete();
}

引用自:https://stackoverflow.com/questions/3417857