.Net Framework 類庫
System.Transactions 命名空間
注意:此命名空間在 .Net Framework 2.0 版中是新增的。
使用 System.Transactions 命名空間包含的類可以編寫自己的事務應用程序和資源管理器。具體地說,可以創建和參與(與一個或多個參與者)本地或分布式事務。
重要事項:
只能在 Windows 2000、Windows XP 和 Windows 2003 平台上使用此命名空間創建應用程序。在 Windows 98 和 Windows ME 平台上創建事務會引發 PlatformNotSupportedException。
System.Transactions 基礎結構通過支持在 SQL Server、ADO.Net、MSMQ 和 Microsoft 分布式事務協調器 (MSDTC) 中啟動的事務,使事務編程在整個平台上變得簡單和高效。它提供基於 Transaction 類的顯式編程模型,還提供使用 TransactionScope 類的隱式編程模型,在這種模型中事務是由基礎結構自動管理的。強烈建議使用更為方便的隱式模型進行開發。若要開始,請參見使用事務范圍實現隱式事務主題。有關編寫事務性應用程序的更多信息,請參見編寫事務性應用程序。
System.Transactions 也提供了一些可用於實現資源管理器的類型。使用 System.Transactions 基礎結構的本機事務管理器可以有效地提交或回滾可變資源或單個持久資源登記。有關實現資源管理器的更多信息,請參見實現資源管理器。
另一個持久資源管理器向一個事務進行登記時,事務管理器還通過基於磁盤的事務管理器(如 DTC)進行協調,透明地將本地事務升級為分布式事務。System.Transactions 基礎結構提供增強性能的關鍵方式有兩種。
動態升級,即 System.Transactions 基礎結構只在事務實際需要 MSDTC 時才使用 MSDTC。這部分內容在事務管理升級主題中詳細介紹。
可升級登記,如果某個資源是參與事務的唯一實體,則允許該資源(如數據庫)取得事務的所有權。以後,如果需要,System.Transactions 基礎結構仍然可以將事務管理交給 MSDTC。這樣進一步減少了使用 MSDTC 的機會。這部分內容在使用單階段提交和可升級單階段通知進行優化主題中詳細介紹。
System.Transactions 定義三個信任級別,用於限制對其公開的資源類型的訪問。具體地說,如果 System.Transactions 程序集已使用 AllowPartiallyTrustedCallers 屬性 (APTCA) 標記,則可由部分受信任的代碼調用。此屬性實質上是移除了 FullTrust 權限集的隱式 LinkDemand,在其他情況下,LinkDemand 會被自動置於每個類型的每個公共可訪問方法上。但是,某些類型和成員還是需要更強的權限。