.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 會被自動置於每個類型的每個公用可存取方法上。但是,某些類型和成員還是需要更強的許可權。