System.Transactions 命名空間

包含可用來自行撰寫交易應用程式和資源管理員的類別。 具體而言,您可以建立並參與擁有一個或多個參與者的交易 (本機或分散式)。

類別

CommittableTransaction

描述可認可的交易。

DependentTransaction

描述交易的複製品 (Clone),其可保證在交易上執行工作時,必須等到應用程式停止後才能認可交易。 此類別無法獲得繼承。

DistributedTransactionPermission

當交易的管理擴大至 MSDTC 時,System.Transactions 所要求的使用權線。 此類別無法獲得繼承。

DistributedTransactionPermissionAttribute

允許將 DistributedTransactionPermission 的安全性動作套用至使用宣告式安全性的程式碼。 此類別無法獲得繼承。

Enlistment

在交易的最後階段,協助登記的交易參與者與交易管理員之間的通訊。

PreparingEnlistment

在交易的準備階段,協助登記的交易參與者與交易管理員之間的通訊。

SinglePhaseEnlistment

提供一組回呼,在收到 SinglePhaseCommit(SinglePhaseEnlistment) 告知時,用來協助登記於單一階段交易認可之參與者和交易管理員之間的通訊。

SubordinateTransaction

表示可以委派的非根交易。 此類別無法獲得繼承。

Transaction

表示交易。

TransactionAbortedException

嘗試在已經復原的交易上執行作業時,或是嘗試認可交易而交易中止時,所擲回的例外狀況。

TransactionEventArgs

提供下列交易事件的資料:DistributedTransactionStartedTransactionCompleted

TransactionException

當您嘗試在無法接受新工作的交易上執行工作時,所擲回的例外狀況。

TransactionInDoubtException

嘗試在不確定的交易上執行作業時,或是嘗試認可交易而交易成為 InDoubt 時,所擲回的例外狀況。

TransactionInformation

提供有關交易的其他資訊。

TransactionInterop

加強 System.Transactions 與元件之間的互動,這些元件是在先前所寫入,以便與 MSDTC、COM+ 或 System.EnterpriseServices 互動。 此類別無法獲得繼承。

TransactionManager

包含用於交易管理的方法。 此類別無法獲得繼承。

TransactionManagerCommunicationException

當資源管理員無法與交易管理員通訊時,所擲回的例外狀況。

TransactionPromotionException

提升失敗時擲回的例外狀況。

TransactionScope

使程式碼區塊成為異動式。 此類別無法獲得繼承。

結構

TransactionOptions

包含指定交易行為的其他資訊。

介面

IDtcTransaction

描述 DTC 交易。

IEnlistmentNotification

描述資源管理員應該實作的介面,可提供兩階段認可告知回呼,讓交易管理員用來登記參與。

IPromotableSinglePhaseNotification

描述物件,該物件用來當做資源管理員內部之非分散式交易的認可委派。

ISimpleTransactionSuperior

表示不是根交易,但可擴大以便由 MSDTC 管理的交易。

ISinglePhaseNotification

描述一個資源物件,其支援參與交易的單一階段交易認可最佳化。

ITransactionPromoter

描述現有交易之已委派交易,其可在需要時擴大以由 MSDTC 管理。

列舉

DependentCloneOption

控制要建立何種相依交易。

EnlistmentOptions

判斷是否應該在準備階段登記物件。

EnterpriseServicesInteropOption

指定分散式交易如何與 COM+ 交易互動。

IsolationLevel

指定交易的隔離等級 (Isolation Level)。

TransactionScopeAsyncFlowOption

指定 TransactionScope 是否啟用跨執行緒接續的異動流程。

TransactionScopeOption

提供建立交易範圍的其他選項。

TransactionStatus

描述分散式交易的目前狀態。

委派

HostCurrentTransactionCallback

提供一個機制,讓裝載環境提供自己的 Current 預設概念。

TransactionCompletedEventHandler

表示處理 TransactionCompleted 類別之 Transaction 事件的方法。

TransactionStartedEventHandler

表示處理 DistributedTransactionStarted 類別的 TransactionManager 事件的方法。

備註

System.Transactions基礎結構可支援在 SQL Server、ADO.NET、MSMQ 和 Microsoft Distributed Transaction Coordinator (MSDTC) 中起始的交易,以簡化整個平臺的交易程式設計。 它同時提供以類別為基礎的明確程式設計模型 Transaction ,以及使用類別的隱含程式設計模型 TransactionScope ,其中的交易會由基礎結構自動管理。 強烈建議您使用更簡單的隱含模型來進行開發。 若要開始使用,請參閱 使用交易範圍執行隱含交易 主題。 如需撰寫交易式應用程式的詳細資訊,請參閱 撰寫交易式應用程式

System.Transactions 也提供可讓您執行資源管理員的類型。 基礎結構的交易管理員可 System.Transactions 讓變動性資源或單一持久資源登記有效率地認可或復原。 如需有關如何執行資源管理員的詳細資訊,請參閱 執行 Resource Manager

交易管理員也會透過以磁片為基礎的交易管理員(例如 DTC)進行協調,以明確地將本機交易呈報至分散式交易。當額外的永久性資源管理員自行登記交易時。 System.Transactions 基礎結構提供兩個提高效能的重要方法。

  • 動態擴大,這表示 System.Transactions 基礎結構只會在交易實際需要時,才會使用 MSDTC。 此區域將在 交易管理擴大 主題中深入討論。

  • 可提升登記,可讓資源 (例如資料庫) 取得異動的擁有權 (如果該資源是參與異動之唯一實體 (Entity) 的話)。 之後,如果需要, System.Transactions 基礎結構仍可將交易的管理提升至 MSDTC。 這會進一步減少 MSDTC 的使用。 此區域在 使用單一階段認可和可提升單一階段通知 主題的優化深度中涵蓋。

System.Transactions 定義三個信任層級,以限制其公開的資源類型的存取權。 具體而言,部分信任的程式碼可以呼叫 system.string 元件,因為 它已標記 AllowPartiallyTrustedCallers 屬性 (APTCA) 。 這個屬性基本上會移除 LinkDemand 使用權限集合的隱含 FullTrust (在每個型別的每個公開存取方法上,都會自動放置這個隱含使用權限)。 然而,部分型別和成員仍舊需要更強勢的使用權限。

以下是部分信任程式碼無法呼叫的類型和成員清單,因為它們是以下列宣告式安全性屬性裝飾:

PermissionSetAttribute(SecurityAction.LinkDemand, Name := "FullTrust")

EnlistDurable。

System.transactions.transaction.enlistpromotablesinglephase。

TransactionInterop

DistributedTransactionStarted。

HostCurrentTransactionCallback。

Reenlist。

RecoveryComplete。

EnterpriseServicesInteropOption) 的,即 Transaction. Transaction. Transaction. Transaction. 交易。 (

M:System.Transactions.TransactionScope.TransactionScope (TransactionScopeOption、TransactionOptions、、、EnterpriseServicesInteropOption)

如需各種信任層級的詳細資訊,請參閱 存取資源的安全性信任層級

核心開發 Technologies\Data Access\Transaction 處理 \

如需如何使用命名空間的詳細資訊 System.Transactions ,您可以參閱檔中的「核心開發 Technologies\Data Access\Transaction 處理」一節的概念檔 交易處理 \ 。 具體而言,您可以在下列主題中找到詳細資訊。

由 System.object 提供的功能

實作資源管理員