.NET 分布式技术与 WCF 服务详解
1. System.Transactions 概述
在早期的 .NET 版本中,.NET 1.0 和 .NET 1.1 将单资源事务与 ADO.NET 关联,分布式资源事务与 .NET Enterprise Services 关联。而 .NET 2.0 引入了 System.Transactions 库,将这两种模型整合在一起,提供了更简单直观的编程模型和更好的性能。
1.1 分布式资源事务
- 单资源事务 :涉及单个对象和单个数据库,在 ADO.NET 中使用显式编程模型实现。
- 分布式资源事务 :可能涉及两个或更多相互交互的对象以及两个或更多数据库资源。
在 System.Transactions 出现之前,实现分布式事务协调器(DTC)最常见的方法是通过 .NET Enterprise Services,使用 System.EnterpriseServices 命名空间。但这种方式存在诸多缺点:
- 强制类继承 ServicedComponent 类,需要对程序集进行签名并在全局程序集缓存(GAC)中注册,耗时且难以维护。
- 即使涉及单个对象或资源,也强制使用分布式 DTC,带来明显的性能开销。
- 需要在 COM+ 服务中管理组件,操作繁琐。
- .NET Enterprise Services 事务与 COM+ 设计紧密耦合,应用程序需要考虑即时激活、对象池、状态感知编程模型等。
System.Transactions 旨在
超级会员免费看
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



