C#2.0中的程序事务实现

使用System.Transactions进行事务编程
本文介绍如何利用.NET Framework中的System.Transactions命名空间来创建和参与本地或分布式事务。文章详细阐述了如何使用TransactionScope类实现事务的隐式管理,并提供了关于编写事务性应用程序的指导。

 .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 会被自动置于每个类型的每个公共可访问方法上。但是,某些类型和成员还是需要更强的权限。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值