.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 会被自动置于每个类型的每个公共可访问方法上。但是,某些类型和成员还是需要更强的权限。
C#2.0中的程序事务实现
最新推荐文章于 2021-06-29 10:40:03 发布