System.Transactions 命名空間
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
包含可用來自行撰寫交易應用程式和資源管理員的類別。 具體而言,您可以建立並參與擁有一個或多個參與者的交易 (本機或分散式)。
類別
結構
| 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 處理」一節的概念檔 交易處理 \ 。 具體而言,您可以在下列主題中找到詳細資訊。