- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分布式事务处理在.NET中应用
分布式事务处理在.NET中应用摘要:该文阐述了事务处理的重要性与.net事务处理的演变,以具体的实例讲述了分布式事务在.net编程中的应用。为处理分布式事务应用设计提供了完善的解决方案和具体的操作步骤。
关键词:事务;分布式事务处理
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2012)28-6840-05
事务是执行一连串工作的逻辑单元,事务中的所有工作项目完成,才算是一个完整的事务,假设事务中有1000项工作,其中的999项完成,只有一项没有完成都算事务失败。事务中的各项工作组成了一个整体,事务完成后全部的数据必须保持稳定的一致性状态,事务完成后数据必须正确无误。事务处理最为典型的实例是银行处理两个账户间的转账业务。假设需要从A账户转账10000元到B账户。我们需要做的是将A账户减去10000元,同时需要在B账户加10000元。这两步工作就需要在一个事务中完成。才能保证转账的成功或者失败,以有效的避免只减不加与只加不减错误发生。事务处理最早是在数据库系统中应用的,在一个数据库中数据库系统提供了事务处理,为正确的进行数据业务处理提供了可能。然而随着应用需求的扩大。业务处理常常需要对存放在不同数据库中的数据进行事务化处理,也就是需要进行分布式事务处理。为了适应需求,微软.NET开发工具在不断的改进与提高事务处理技术,以适应新的需求。.net在2008版与2003版就有明显的改进。在.NET 2008中事务处理更加简单易用。
1 分布式事务处理
在应用开发中常需要对存放在同一个物理服务器中不同数据库的数据进行事务化处理,或者是需要对分布在不同地域的多台数据库中的数据进行事务化处理,以上两种功能情况都需要进行分布式事务处理,其中的数据库系统可能结构不同,如一个应用sql server库,另一个应用oracle 数据库。假如我们需要在两家银行间进行转账业务,两家银行应用的数据库服务器不同,进行转账业务就需要分布式事务处理,以保证两个银行账户间的收支平衡。不发生错误的业务处理。同样应用需求还很多,其共同的特点是需要在保证多台服务间的数据能够同时正确修改,或者不做修改。保护数据的完整性。分布式事务处理就是专门解决这类问题的技术系列。
1.1 ADO.NET事务处理的演变
传统的.net事务处理分显式事务与Enterprise Services 声明式两种。显式事务具有速度快消耗资源少等特点,但是其功能简单,只能管理单一对象和单一持久资源间的事务,只能应付单一SqlConnection对单一Sql Server间的事务(或oracle及其他数据库),也就是说只能处理所有数据在一个物理数据库中存放的应用系统开发,不能处理具有多个SqlConnection对多个Sql Server间的分布事务。Enterprise Services的声明式事务通过COM+形式来提供事务服务,并且需要调用分布式事务协调处理器MSTDC(Microsoft Distributed Trannsaction Coord)inator)来协调分布事务,其事务功能强大,但是需要昂贵的成本代价,同时事务执行速度慢。为了克服传统事务处理在应用中的局限,微软在.NET 2008中推出了新的事务处理机制,当然在类的命名空间上还是沿用了.NET 2003的System.Transactions,其构成如图2,系统提供了隐式事务处理程序编写模型与显式事务处理编程模型两种实现方案。处理分布式事务还用到了MSDTC。
1.2 隐式事务处理编程模型
应用时只需要定义TransactionScope,其中的各种语句将自动的被.NET编译在一个事务中完成。同时在事务处理中不需要象传统事务处理进行Commit与Rollback操作。TransactionScope对象可以自动确保事务执行或回退。银行转账业务实现如下
隐式事务处理具备了处理分布事务的能力,同时应用较为简单。不过在应用需要注意的是在数据库连接字符串中加入Enlist=true,保证数据库连接添加到TransactionScope的作用范围中,否则事务不能正常提交。
另一种显式事务处理程序编写模型CommittableTransaction对象,其编程模型如下:
显式事务处理的特点是sqlconnection对象必须用EnlistTransaction方法加入到事务中,否则事务不能正常的发挥作用。在显式事务处理中还需要进行事务提交与事务回退操作。无论是隐式事务还是显式事务处理,系统都首先按Local Transaction来处理,当Local Transaction无法应付事务需求时系统自动的将事务处理升级为分不布式事务处理,并有MSDTC来负责事务的协调。
您可能关注的文档
- 内蒙古昆都一带侏罗纪黑云母花岗岩地质地球化学特征及成因探析.doc
- 内蒙古水权流转机制中存在问题及解决对策.doc
- 内蒙古重大历史文化题材美术创作工程.doc
- 内蒙古高校科技创新能力影响因素及提升措施探究.doc
- 内蒙赤峰金蟾山金矿成矿物质来源讨论.doc
- 内转神山徒步者奇绝震憾精神漫游.doc
- 内部审计人员职业胜任能力框架探析.doc
- 内部审计如何参及企业风险管理-一个案例研究.doc
- 内部审计质量管理问题及对策探究.doc
- 内部控制信息披露及盈余质量相关性-文献回顾及展望.doc
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
最近下载
- 2022医院医疗机构开展违反中央八项规定精神突出问题专项治理的实施方案(详细版).pdf VIP
- 半导体工艺炉的炉门及半导体工艺炉.pdf VIP
- 测绘行业安全生产汇报.pptx VIP
- 半导体后端工艺半导体封装的作用、工艺和演变.docx VIP
- 半导体工艺原理--半导体工艺原理(贵州大学).ppt VIP
- 麦肯锡中国银行业CEO季刊(2020年秋)-麦肯锡-224页正式版.pdf VIP
- 走进潮汕文化ppt课件(优质ppt).pptx
- DG_TJ 08-2439-2024 建筑工程“多测合一”技术标准(正式版).pdf VIP
- Camera客观标准测试.pdf VIP
- 2024年湖北省恩施州恩施市六角亭街道招聘社区工作者真题参考答案详解.docx VIP
文档评论(0)